Olá, Letícia!
Por ser um curso inicial não abordamos as variáveis, mas pretendemos abordar num próximo que ainda está sendo feito.
Agora, respondendo a sua dúvida, há alguns modos de se fazer isso.
Você pode criar um nó pai ou filho do slot cujo único propósito seja zerar essas variáveis, atribuindo null a elas dentro do json de resposta, pode também conectar o serviço com um client e tratar na camada de aplicação, ou também receber um pedido de reset do usuário e chamar uma intenção dentro do próprio slot que faça isso.
Caso você vá criar um nó pai ou filho, crie o nó, e dentro dele clique nos 3 pontos ao lado direito do campo de resposta e então em Abrir o editor de Json (open json editor), e esse json de resposta deve ser configurado se baseando no exemplo abaixo:
{
"output": {
},
"context": {
"sn": null,
"sn2": null,
"marca": null,
"moeda": null
}
}
Ou seja, você vai digitar esse campo de context e atribuir o valor null a cada uma das variáveis que está usando.
Caso opte pela camada de aplicação, um jeito de fazer isso é testando a intenção do usuário, então, quando for igual à intenção do slot, atribuir null as variáveis.
Exemplo testando a intenção (em js):
if (response.intents[0].intent === 'comprar'){
response.context.sn = null,
response.context.sn2 = null,
response.context.marca = null,
response.context.moeda = null,
}
E, finalmente, você pode criar uma intenção e um nó de reset ou resetar, atribuir null às variáveis dentro do json e chamá-la de dentro do Gerenciador de Controles (manage handlers) do slot.
Como mostrado nas imagens:
Clicando no gerenciador de controles (manage handlers) do slot
Adicionando a intenção de resetar
Fazendo como no exemplo do editor de resposta de Json, adicionando o context e setando o valor das variáveis para null.
Espero que alguma dessas maneiras funcione!
Se precisar, este é o link da documentação oficial do Conversation que aborda os slots. E este o link as variáveis de contexto.
Qualquer outra dúvida, só mandar :).