How do I save and retrieve information across invocations of my agent in Dialogflow?

Viewed 7017

I would like my Actions on Google agent to store and retrieve certain pieces of information across invocations - like a cookie. How do I do this?

5 Answers

You can save the information in Context with a key value parameter.

SAVING VALUES IN CONTEXT :

agent.set.Context({
  name:'context-name',
  lifespan: 5,
  parameters:{
    'parameter-name':'parameter-value'
    }
});

GETTING VALUES FROM CONTEXT

 agent.getContext('context-name');

For more Details : https://dialogflow.com/docs/contexts/contexts-fulfillment

For this purpose, i just did a node module just for that, in external json file from api call, i need to store and add additional informations to retrieve later. I thing that you can do a lot with this module, Store object, array, json, value, Navigation history?, back to previous page. It work like localStorage or Cookies. There's no limit, you can create multiple storage by name (key) an value. It's new and i'm testing it for bugs right now on my own project.

Test on Runkit

On npm

vStorage = require('virtual-storage');
vStorage.set('name', '{title:'Title 1', description:'Descriptions 1'}')
let getStorage_name = vStorage.get('name');
console.log(getStorage_name.title);
vStorage.get('name')
Related