input: 
  def create_flask_app() -> Flask:
      """Create a Flask app that listens for POST requests on the '/webhook' route to extract necessary parameters from the request and call the 'makeWebhookResult' function to generate a response. The response should be a JSON object containing a 'speech' field with the text to be spoken by the voice assistant. The app should be started on port 5000 and run in debug mode.
      
      Example:
      >>> app = create_flask_app()
      >>> import requests
      >>> response = requests.post('http://localhost:5000/webhook', json={"result": {"action": "productos.sura", "parameters": {"tipo_cliente": "particular"}}})
      >>> response.json()['speech']
      'Buscando productos para particular'
      """
      from flask import Flask, request, make_response
      import json
      import os
  
      app = Flask(__name__)
  
      @app.route('/webhook', methods=['POST'])
      def webhook():
          req = request.get_json(silent=True, force=True)
          res = makeWebhookResult(req)
          res = json.dumps(res, indent=4)
          r = make_response(res)
          r.headers['Content-Type'] = 'application/json'
          return r
  
      def makeWebhookResult(req):
          result = req.get("result")
          parameters = result.get("parameters")
          
          if req.get("result").get("action") == "productos.sura":
              cliente = parameters.get("tipo_cliente")
              speech = "Buscando productos para " + cliente
              
          else:
              speech = " "
  
          return {
              "speech": speech,
              "displayText": speech,
              "source": "apiai-onlinestore-shipping"
          }
  
      if __name__ == '__main__':
          port = int(os.getenv('PORT', 5000))
          app.run(debug=True, port=port, host='0.0.0.0')
      
      return app
  
output:     return app