Echo Dot (3rd Gen) - Smart speaker with Alexa - Charcoal

Use your voice to play a song, artist, or genre through Amazon Music, Apple Music, Spotify, Pandora, and others. With compatible Echo devices in different rooms, you can fill your whole home with music.

Buy Now

Wireless Rechargeable Battery Powered WiFi Camera.

Wireless Rechargeable Battery Powered WiFi Camera is home security camera system lets you listen in and talk back through the built in speaker and microphone that work directly through your iPhone or Android Mic.

Buy Now

Dialogflow Tutorial: Back Functionality in Chatbot using Python + Django | by Pragnakalp Techlabs


Pragnakalp Techlabs
"Response Message of stage 1"
"Output Context of stage 1"
"Response Message of stage 2"
"Output Context of stage 2"
"Response Message of stage N"
"Output Context of stage N"

1. Conversational AI: Code/No Code

2. Chatbots 2.0: Simplifying Customer Service with RPA and AI

3. Question Answering on Medical conversation

4. Automating WhatsApp with NLP: Complete guide

pip install Django
django-admin startproject Back_Function
 cd Back_Function
python migrate
python startapp myapp


from django.urls import path
from myapp import views
urlpatterns = [
# define a route for home
path('home/', views.home, name='home'),
path('webhook/', views.webhook, name='webhook')
from django.shortcuts import render
from django.http import HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
import json
from df_response_lib import *

# define home function
def home(request):
return HttpResponse('Hello World!')

def webhook(request):

ff_response = fulfillment_response()

# build a request object of the qebhook request
req = json.loads(request.body)

# get action from json
action = req.get('queryResult').get('action')

# Django responses from webhook

# response for the Stage_1 intent
if action == "S_1":
Text_response = "You are in Stage 1."

# response for the Stage_2 intent
elif action == "S_2":
Text_response = "You are in Stage 2."

# response for the Stage_3 intent
elif action == "S_3":
Text_response = "You are in Stage 3."

# response for the Stage_4 intent
elif action == "S_4":
Text_response = "You are in Stage 4."

storage = []
context = []

# loop over the all the context
mess = req.get('queryResult').get("outputContexts")
for m in mess:
name = m.get('name')
# save the parameter value of 'back' context which is our saved last responses
if name[-len("back"):] == "back":
stored = m.get("parameters").get("parameter")
for k in stored:
# contexts of the current stage

# when request for back is arise, get the last response from the storage which was saved in the parameter of the back context and remove the currernt response from the data.
if action == "back":
temp = storage[-2]
ff_context = temp[1]
ff_text = temp[0]
ff_text = ff_response.fulfillment_text(Text_response)
new_data = [ff_text, context]

# output context from the webhook for back functionality
contexts = [['back', 100, {'parameter': storage}]]
# get session name from fulfilment reqest
session = req.get("session")

# set the output context in the webhook response
ff_out_context = ff_response.output_contexts(session, contexts)

# Also activate the contexts of the last response
if action == "back":
for i in range(len(ff_context)):

# set webhook response for the requested action
reply = ff_response.main_response(fulfillment_text = ff_text, output_contexts = ff_out_context)

# webhook response
return JsonResponse(reply, safe = False)

python runserver
ngrok http 8000
ALLOWED_HOSTS = [ '', '' ]

Read More


Please enter your comment!
Please enter your name here