Dialogflow CX logs sink to BigQuery. sink error - field: value is not a record

I am using google cloud logging to sink Dialogflow CX requests data to big query. BigQuery tables are auto generated when you create the sink via Google Logging.

We keep getting a sink error - field: value is not a record.

This is because pageInfo/formInfo/parameterInfo/value is of type String in BigQuery BUT there are values that are records, not strings. One example is @sys.date-time

How do we fix this?

We have not tried anything at this point since the BigQuery dataset is auto created via a Logging Filter. We cannot modify the logs and if we could modify the table schema, what would we change it to since most of the time "Value" is a String but other times it is a Record

0 4 713
4 REPLIES 4

Currently working with your question.

With the information you shared, I’m afraid it’s not possible to provide a good solution.

Please include sufficient code and any guides you followed or your process so that we can analyze the issue.

This is an article that explains how to set up the logging to BigQuery: https://medium.com/google-cloud/dialogflow-cx-response-logging-e1b77d7a9fc6

There is no code, just create a simple agent in Dialogflow CX and set up at least one parameter with entity type @sys.date-time, turn on logging, create BigQuery sink, then test the agent a few times and you should get the error notice that the sink has been disabled.

The financial services example agent would probably show the same bug if you triggered the "Investigate charges" intent

 

 

With the information you provided from your project, I would highly recommend you to review this Troubleshooting routing and sinks documentation.

Additionally, you can actually create a PIT (Public Issue Tracker - Dialogflow CX), or please engage GCP Support if you're paying or if you're interested in starting to pay for a Support Package. Please be aware that from these 2 options, the second one is the fastest.