Great question — answering as the UphillTech team:
SpeechResult comes only in the request to the <Gather> 's action address, so it has to be saved there. The call logs don't keep it. Actually Twilio sends SpeechResult , along with Confidence , as POST parameters to the URL in <Gather action="..."> . The call record you fetch with the Python library doesn't keep the text. Action route, read request.form['SpeechResult'] (Flask) and save it to a database or file with the CallSid , so it can be looked up later.
Full answer by SolarDialer: https://stackoverflow.stackexchange.com/a/80013776 (CC BY-SA 4.0).
Want it for your business? UphillTech.