insights

Request Method: GET

Description: Get call data information with all the insights data.

URL: https://rest.iovox.com/rest/v1/calls/insights

The following parameters must be sent in the querystring

Field Description Default Data Type Manditory
page The page number to return. Use together with limit to achieve paginated results to 1 INTEGER NO
limit Determines how many results to return. Use together with page to achieve paginated results. Maximum here is 20000 10000 INTEGER NO
order etermines which field to order the output result by. Use a field name from the required_fields list (exclusive of link_category_value, link_category_label and link_category_id) and suffix with ASC or DESC for ascending or descending respectively. For example, "call_start_DESC" will return results ordered by call_start with the most recent first. call_start_DESC STRING NO
start_date Returns all calls received since a given date. Start date format is YYYY-MM-DD HH:MM:SS with hours, minutes and seconds being optional. Hours, minutes and seconds defaults to 00:00:00 1st day of current month at 00:00:00 DATETIME NO
end_date Returns all calls received before a given date. End date format is YYYY-MM-DD HH:MM:SS with hours, minutes and seconds being optional. Hours,minutes and seconds defaults to 23:59:59 Current day at 23:59:59 DATETIME NO
date_constant Shortcut to request calls received on a particular date YESTERDAY : Return yesterday's calls, from 00:00:00 to 23:59:59 STRING YES
id Returns the Call with the specified Call ID. You can request multiple calls with a comma separate sequence of IDs. E.G: A,B STRING NO
node_id Returns all calls for the specified Node ID STRING NO
node_name Returns all calls for the specified Node Name STRING NO
node_type Returns all calls for the specified Node Type STRING NO
link_id Returns all calls for the specified Link ID STRING NO
link_name Returns all calls for the specified link name STRING NO
link_type Returns all calls for the specified Link Type STRING NO
call_result Returns all data under the given call result, e.g. ANSWERED STRING NO
rule_result Returns all data under the given rule result, e.g. Call to an Operator STRING NO
call_origin Returns all data under the given call origin, e.g. 447966111222 STRING NO
call_origin_encoded Returns all data under the given call origin as encoded appearing in the response, e.g. 447966111222 STRING NO
iovox_number Returns all data under the given iovox Number, e.g. 448456111222 STRING NO
call_destination Returns all data under the given call destination, e.g. 447966123456 STRING NO
direction Returns all data under the given direction e.g. IN STRING NO
link_category_ids Returns all the data for the categories attached to the links. You can add multiple ids in a comma separated list. E.G: 1,2,3 STRING NO
call_category_ids Returns all the data for the categories attached to the call record. You can add multiple ids in a comma separated list. E.G: 1,2,3 STRING NO
node_category_ids Returns all the data for the categories attached to the node record. You can add multiple ids in a comma separated list. E.G: 1,2,3 STRING NO
contact_category_ids Returns all the data for the categories attached to the contact record. You can add multiple ids in a comma separated list. E.G: 1,2,3 STRING NO
tag_text Return all the data for the tags text as parameter. STRING NO
tag_colour Return all the data for the tags passed as parameter. You can use it as comma separated colours. Values allowed are [BLUE,GREEN,GOLD,RED] STRING NO
keyword_rules Return all the data which match the Keyword rule passed as parameter. STRING NO
call_outcomes Return all the data which match the outcome of the call. STRING NO
response_fields The comma separated list of fields we want to return in the response. id,call_start,call_end,call_origin,iovox_number,call_destination,talk_time,call_result,node_id,link_id,has_recording STRING NO

Response fields

Field Description Field Description
id Id tag_text Tag Text field
call_start Call Start tag_colour Tag colour
call_end Call End tag_source_type Tag Source Type
call_origin Call Origin keyword_rules Keyword Rules
call_origin_location Call Origin Location task_username Task Username
iovox_number Iovox Number task_created Task Created
call_destination Call Destination task_assigned_username Task Assigned Username
call_time Formatted Call Time (00:00:00) task_reminder_date Task Reminder Date
call_time_seconds Call Time in Seconds task_reminder_message Task Reminder Message
talk_time Formated Talk Time (00:00:00) task_status Task status
talk_time_seconds Talk Time in seconds task_due_date Taks Due Date
call_type Call Type comment_id Comment Id
call_result Call Result comment_created Comment Created
rule_result Rule Result comment_username Comment Username
node_id Node Id comment_language Comment Language
node_name Node Name comment_text Comment Text
node_type Node Type call_outcomes Call Outcomes
link_id Link Id transcription_id Transcription Id
link_name Link Name transcription_language Transcription Id
link_type Link Type transcription_text Transcription Text
has_recording Has Recordings transcription_phrases Transcription Phrases
email_alert Email Alert
direction Direction
link_category_id Link Category Id
link_category_label Link Category Label
link_category_value Link Category Value
call_category_id Call Category Id
call_category_label Call Category Label
call_category_value Call Category Value
node_category_id Node Category Id
node_category_label Node Category Label
node_category_value Node Category Value
contact_category_id Contact Category Id
contact_category_label Contact Category Label
contact_category_value Contact Category Value

Result

Error Result

HTTP Code Error String Resolution
400 Request Method must be GET. x attempted Switch request method x to GET
400 Order Field Invalid Check the allowed fields in the documentation
400 Order Direction Invalid Correct the order Direction
400 Page number not an integer Remove non-numerics from page
400 Limit not an integer Remove non-numerics from limit
400 Limit must be between 1 and 20000 Correct the limit parameter
400 Start Date invalid Correct start_date parameter
400 End Date invalid Correct end_date parameter
400 Iovox Number not an integer correct iovox_number parameter
400 Required fields olvalid: fieldone, fieldtwo Correct or remove the invalid fields.
500 Internal Server Error Retry later

Success Result

Default example request

curl -X GET -H "username: [USERNAME]" -H "secureKey: [KEY]" "https://rest.iovox.com/rest/v1/calls/insights"

[
    {
        "id": 30683207599876,
        "call_start": "2024-02-26 04:39:59",
        "call_end": "2024-02-26 04:42:15",
        "talk_time": "00:02:05",
        "call_origin": "447598455773",
        "iovox_number": "441273083510",
        "call_destination": "442035447179"
        "talk_time_sec" : 99,
        "call_result": "ANSWERED",
        "node_id": "2",
        "link_id": "53",
        "has_recording": "TRUE",
    },
    {
        "id": 30683207351872,
        "call_start": "2024-02-26 04:35:51",
        "call_end": "2024-02-26 04:37:45",
        "talk_time": "00:01:39",
        "call_origin": "447598455773",
        "iovox_number": "442045173501",
        "call_destination": "442035447179"
        "talk_time_sec" : 125,
        "call_result": "ANSWERED",
        "node_id": "1",
        "link_id": "180",
        "has_recording": "TRUE",
    }
]

Example 1

#Request example

curl -X GET -H "username: [USERNAME]" -H "secureKey: [KEY]" https://rest.iovox.com/rest/v1/calls/insights?limit=10&start_date=2022-01-01+13:45:15&end_date=2022-01-11+15:29:21&response_fields=id,call_start,call_end,call_origin,call_origin_location,iovox_number,call_destination,call_time,call_time_seconds,talk_time,talk_time_seconds,call_type,call_result,rule_result,node_id,node_name,node_type,link_id,link_name,link_type,has_recording,direction

id,call_start,call_end,call_origin,call_origin_location,iovox_number,

call_destination,call_time,call_time_seconds,talk_time,talk_time_seconds,
call_type,call_result,rule_result,node_id,node_name,node_type,link_id,link_name,link_type,has_recording,direction

curl -X GET -H "username: [USERNAME]" -H "secureKey: [KEY]" "https://rest.iovox.com/rest/v1/calls/insights"

[
    {
        "id": 30683207599876,
        "call_start": "2024-02-26 04:39:59",
        "call_end": "2024-02-26 04:42:15",
        "call_origin": "447598455773",
        "call_origin_location": "MOBILE,UNITED KINGDOM",
        "iovox_number": "441273083510",
        "call_destination": "442035447179",
        "call_time": "00:02:16",
        "call_time_sec": 136,
        "talk_time": "00:02:05",
        "talk_time_sec": 125,
        "call_type": "DIRECT",
        "call_result": "ANSWERED",
        "rule_result": "Forward call to: 442035447179",
        "node_id": "2",
        "node_name": "Brighton Motors",
        "node_type": "",
        "link_id": "53",
        "link_name": "Brighton Motors",
        "link_type": "default-type",
        "has_recording": "TRUE",
        "direction": "IN"
    },
    {
        "id": 30683207351872,
        "call_start": "2024-02-26 04:35:51",
        "call_end": "2024-02-26 04:37:45",
        "call_origin": "447598455773",
        "call_origin_location": "MOBILE,UNITED KINGDOM",
        "iovox_number": "442045173501",
        "call_destination": "442035447179",
        "call_time": "00:01:54",
        "call_time_sec": 114,
        "talk_time": "00:01:39",
        "talk_time_sec": 99,
        "call_type": "DIRECT",
        "call_result": "ANSWERED",
        "rule_result": "Forward call to: 442035447179",
        "node_id": "1",
        "node_name": "London Motors",
        "node_type": "",
        "link_id": "180",
        "link_name": "London Motors",
        "link_type": "default-type",
        "has_recording": "TRUE",
        "direction": "IN"
    }
]

Example 2 - Categories

curl -X GET -H "username: [USERNAME]" -H "secureKey: [KEY]" https://rest.iovox.com/rest/v1/calls/insights?limit=10&start_date=2022-01-01+13:45:15&end_date=2022-01-11+15:29:21&response_fields=id,call_start,call_end,call_origin,iovox_number,call_destination,link_category_id,link_category_label,link_category_value,contact_category_id,contact_category_label,contact_category_value,node_category_id,node_category_label,node_category_value,call_category_id,call_category_label,call_category_value

[
    {
        "id": 30683207599876,
        "call_start": "2024-02-26 04:39:59",
        "call_end": "2024-02-26 04:42:15",
        "call_origin": "447598455773",
        "iovox_number": "441273083510",
        "call_destination": "442035447179",
        "categories": {
            "link_categories": [
                {
                    "category_id": "",
                    "label": "green1",
                    "value": "London"
                }
            ],
            "call_categories": [],
            "node_categories": [
                {
                    "category_id": "",
                    "label": "green1",
                    "value": "Brighton"
                },
                {
                    "category_id": "",
                    "label": "blue1",
                    "value": "Dealership"
                }
            ],
            "contact_categories": [
                {
                    "category_id": "",
                    "label": "blue1",
                    "value": "Dealership"
                }
            ]
        }
    },
    {
        "id": 30683207351872,
        "call_start": "2024-02-26 04:35:51",
        "call_end": "2024-02-26 04:37:45",
        "call_origin": "447598455773",
        "iovox_number": "442045173501",
        "call_destination": "442035447179",
        "categories": {
            "link_categories": [],
            "call_categories": [],
            "node_categories": [
                {
                    "category_id": "",
                    "label": "green1",
                    "value": "London"
                },
                {
                    "category_id": "",
                    "label": "blue1",
                    "value": "Dealership"
                }
            ],
            "contact_categories": []
        }
    }
]

Example 3 - Insight data

curl -X GET -H "username: [USERNAME]" -H "secureKey: [KEY]" https://rest.iovox.com/rest/v1/calls/insights?limit=10&start_date=2021-08-12+13:45:15&end_date=2021-09-23+15:29:21&response_fields=id,call_start,call_origin,iovox_number,call_destination,call_result,node_id,node_name,link_id,link_name,has_recording,direction,comment_id,comment_created,comment_username,comment_language,comment_text,call_outcomes,transcription_id,transcription_language,transcription_text,transcription_phrases,tag_text,tag_colour,tag_source_type,keyword_rules,task_created,task_assigned_username,task_reminder_message,task_reminder_date,task_due_date,task_status

[
    {
        "id": 30683207599876,
        "call_start": "2024-02-26 04:39:59",
        "call_origin": "447598455773",
        "iovox_number": "441273083510",
        "call_destination": "442035447179",
        "call_result": "ANSWERED",
        "node_id": "2",
        "node_name": "Brighton Motors",
        "link_id": "53",
        "link_name": "Brighton Motors",
        "has_recording": "TRUE",
        "direction": "IN",
        "comments": [],
        "call_outcomes": [],
        "transcriptions": [
            {
                "transcription_id": "AYfm_84yRn5pZWaxmpo3",
                "language": "en",
                "text": "Hello, this is John speaking. How can I help you?\nhello my name is paul i called yesterday about the gold nissan pathfinder and your colleague said there was someone already good to see it is it still available\nOh, yes, that was me you spoke to. Unfortunately, the car has been sold.\ni see so the people yesterday bought it\nYes,\nthat's a shame okay\nwe do have a few other cars which are similar in price and might be what you're looking for. We have a couple which are not yet listed on the site as they just came in\noh really can you tell me about those\nOkay. So we have another Nissan, but it's a Murano. Yeah, a black 2013 Murano. It is a nice car for the same price as the other one. You like, 5999 pounds 150,000.\nalright and what's the mileage on that one one fifty well that's that's a bit too much\nWell, it is a good looking car and has full service history.\nOkay.\nIt also has almost brand new tires. You are very welcome to come and take a look. If you like you could take a test drive perhaps?\nThat sounds good. So you said you are in Brighton, right?\nYes, we are station road left just after the traffic lights.\nGreat. Thank you. Could I pop by, let's say 12 tomorrow?\nyes we are open from ten to six uh p m so midday is fine\nOkay, let's go for that.\ngreat i will cancel you can you can i take your surname\nYes, it is. Paul Watson.\nokay that's booked in for you paul we'll just see you tomorrow at twelve\nThat's great. Thank you. Goodbye.\nBye.\nBye, bye.",
                "phrases": [
                    {
                        "phrase": "Hello, this is John speaking. How can I help you?",
                        "speaker": "called",
                        "start": 1680,
                        "end": 4240,
                        "turn": 0
                    },
                    {
                        "phrase": "hello my name is paul i called yesterday about the gold nissan pathfinder and your colleague said there was someone already good to see it is it still available",
                        "speaker": "caller",
                        "start": 5280,
                        "end": 15040,
                        "turn": 1
                    },
                    {
                        "phrase": "Oh, yes, that was me you spoke to. Unfortunately, the car has been sold.",
                        "speaker": "called",
                        "start": 16390,
                        "end": 20910,
                        "turn": 2
                    },
                    {
                        "phrase": "i see so the people yesterday bought it",
                        "speaker": "caller",
                        "start": 21870,
                        "end": 24510,
                        "turn": 3
                    },
                    {
                        "phrase": "Yes,",
                        "speaker": "called",
                        "start": 25630,
                        "end": 26110,
                        "turn": 4
                    },
                    {
                        "phrase": "that's a shame okay",
                        "speaker": "caller",
                        "start": 26790,
                        "end": 27910,
                        "turn": 5
                    },
                    {
                        "phrase": "we do have a few other cars which are similar in price and might be what you're looking for. We have a couple which are not yet listed on the site as they just came in",
                        "speaker": "called",
                        "start": 29270,
                        "end": 39260,
                        "turn": 6
                    },
                    {
                        "phrase": "oh really can you tell me about those",
                        "speaker": "caller",
                        "start": 39930,
                        "end": 41930,
                        "turn": 7
                    },
                    {
                        "phrase": "Okay. So we have another Nissan, but it's a Murano. Yeah, a black 2013 Murano. It is a nice car for the same price as the other one. You like, 5999 pounds 150,000.",
                        "speaker": "called",
                        "start": 43300,
                        "end": 63420,
                        "turn": 8
                    },
                    {
                        "phrase": "alright and what's the mileage on that one one fifty well that's that's a bit too much",
                        "speaker": "caller",
                        "start": 57860,
                        "end": 66860,
                        "turn": 9
                    },
                    {
                        "phrase": "Well, it is a good looking car and has full service history.",
                        "speaker": "called",
                        "start": 68010,
                        "end": 72330,
                        "turn": 10
                    },
                    {
                        "phrase": "Okay.",
                        "speaker": "caller",
                        "start": 72990,
                        "end": 73470,
                        "turn": 11
                    },
                    {
                        "phrase": "It also has almost brand new tires. You are very welcome to come and take a look. If you like you could take a test drive perhaps?",
                        "speaker": "called",
                        "start": 74730,
                        "end": 82810,
                        "turn": 12
                    },
                    {
                        "phrase": "That sounds good. So you said you are in Brighton, right?",
                        "speaker": "caller",
                        "start": 83560,
                        "end": 86840,
                        "turn": 13
                    },
                    {
                        "phrase": "Yes, we are station road left just after the traffic lights.",
                        "speaker": "called",
                        "start": 88170,
                        "end": 92690,
                        "turn": 14
                    },
                    {
                        "phrase": "Great. Thank you. Could I pop by, let's say 12 tomorrow?",
                        "speaker": "caller",
                        "start": 93680,
                        "end": 97360,
                        "turn": 15
                    },
                    {
                        "phrase": "yes we are open from ten to six uh p m so midday is fine",
                        "speaker": "called",
                        "start": 98600,
                        "end": 102960,
                        "turn": 16
                    },
                    {
                        "phrase": "Okay, let's go for that.",
                        "speaker": "caller",
                        "start": 103440,
                        "end": 105000,
                        "turn": 17
                    },
                    {
                        "phrase": "great i will cancel you can you can i take your surname",
                        "speaker": "called",
                        "start": 106160,
                        "end": 109880,
                        "turn": 18
                    },
                    {
                        "phrase": "Yes, it is. Paul Watson.",
                        "speaker": "caller",
                        "start": 110650,
                        "end": 112610,
                        "turn": 19
                    },
                    {
                        "phrase": "okay that's booked in for you paul we'll just see you tomorrow at twelve",
                        "speaker": "called",
                        "start": 114280,
                        "end": 119040,
                        "turn": 20
                    },
                    {
                        "phrase": "That's great. Thank you. Goodbye.",
                        "speaker": "caller",
                        "start": 119810,
                        "end": 121490,
                        "turn": 21
                    },
                    {
                        "phrase": "Bye.",
                        "speaker": "called",
                        "start": 122610,
                        "end": 122770,
                        "turn": 22
                    },
                    {
                        "phrase": "Bye, bye.",
                        "speaker": "caller",
                        "start": 123450,
                        "end": 123770,
                        "turn": 23
                    }
                ]
            }
        ],
        "tags": [
            {
                "text": "Test Drive",
                "colour": "GOLD",
                "source_type": "insights_trigger"
            }
        ],
        "keyword_rules": [
            {
                "keyword_rule": "Test Drive discussed",
                "keywords": [
                    {
                        "keyword": "test drive",
                        "count": 1
                    },
                    {
                        "keyword": "take a look",
                        "count": 1
                    }
                ]
            },
            {
                "keyword_rule": "Caller mentioned make - Nissan",
                "keywords": [
                    {
                        "keyword": "Nissan",
                        "count": 1
                    }
                ]
            }
        ],
        "tasks": []
    },
    {
        "id": 30683207351872,
        "call_start": "2024-02-26 04:35:51",
        "call_origin": "447598455773",
        "iovox_number": "442045173501",
        "call_destination": "442035447179",
        "call_result": "ANSWERED",
        "node_id": "1",
        "node_name": "London Motors",
        "link_id": "180",
        "link_name": "London Motors",
        "has_recording": "TRUE",
        "direction": "IN",
        "comments": [
            {
                "comment_id": "ffc26f84929ef895d835c3728bc756a4",
                "created": "2024-03-15 10:16:08",
                "username": "cardemoiovox@gmail.com",
                "language": "en",
                "text": "Decline offer for a test drive. He is going to re-evaluate his options."
            }
        ],
        "call_outcomes": [],
        "transcriptions": [
            {
                "transcription_id": "AYfm-62PRn5pZWaxmpoi",
                "language": "en",
                "text": "Hi, thank you for calling London Motors. This is John speaking.\nHi, I'm calling about a car I sold for sale online. I wanted to get some more info about it.\nSure. Can you give, can you give me some details about the car?\nYes, it is a blue BMW. Can you tell me if it is still available please? Oh that's\nYeah, let me just check for you. Yes, we still have it.\ngreat. Could I come and take a look?\nYes. When are you available? We are open this afternoon until 6:00 PM or tomorrow from 10:00 in the morning. We\nokay can ask if it would be possible to purchase with finance for that one\ndo have a couple of options available. Do you have a deposit already for the down payment \u00a31000?\nyeah i have about one thousand pounds\nUnfortunately for this\nyeah that's the most i could do\ncar that won't be enough. for in house finance you must have at least thirty percent of the full price of the car\ni see so is there any hard that i could get with the one thousand pounds deposit\nno currently we don't have any cars in that price range\nokay i understand\nwould you still like to come and take a look at it\nno it's okay thank you i'll reevaluate my options i think\nalright thank you for your call\nthanks goodbye\nbye",
                "phrases": [
                    {
                        "phrase": "Hi, thank you for calling London Motors. This is John speaking.",
                        "speaker": "called",
                        "start": 1680,
                        "end": 5240,
                        "turn": 0
                    },
                    {
                        "phrase": "Hi, I'm calling about a car I sold for sale online. I wanted to get some more info about it.",
                        "speaker": "caller",
                        "start": 6130,
                        "end": 13650,
                        "turn": 1
                    },
                    {
                        "phrase": "Sure. Can you give, can you give me some details about the car?",
                        "speaker": "called",
                        "start": 14680,
                        "end": 18160,
                        "turn": 2
                    },
                    {
                        "phrase": "Yes, it is a blue BMW. Can you tell me if it is still available please? Oh that's",
                        "speaker": "caller",
                        "start": 18810,
                        "end": 23810,
                        "turn": 3
                    },
                    {
                        "phrase": "Yeah, let me just check for you. Yes, we still have it.",
                        "speaker": "called",
                        "start": 25090,
                        "end": 29010,
                        "turn": 4
                    },
                    {
                        "phrase": "great. Could I come and take a look?",
                        "speaker": "caller",
                        "start": 29570,
                        "end": 32090,
                        "turn": 5
                    },
                    {
                        "phrase": "Yes. When are you available? We are open this afternoon until 6:00 PM or tomorrow from 10:00 in the morning. We",
                        "speaker": "called",
                        "start": 33330,
                        "end": 40130,
                        "turn": 6
                    },
                    {
                        "phrase": "okay can ask if it would be possible to purchase with finance for that one",
                        "speaker": "caller",
                        "start": 40850,
                        "end": 46170,
                        "turn": 7
                    },
                    {
                        "phrase": "do have a couple of options available. Do you have a deposit already for the down payment \u00a31000?",
                        "speaker": "called",
                        "start": 47600,
                        "end": 53200,
                        "turn": 8
                    },
                    {
                        "phrase": "yeah i have about one thousand pounds",
                        "speaker": "caller",
                        "start": 53600,
                        "end": 55920,
                        "turn": 9
                    },
                    {
                        "phrase": "Unfortunately for this",
                        "speaker": "called",
                        "start": 57000,
                        "end": 58240,
                        "turn": 10
                    },
                    {
                        "phrase": "yeah that's the most i could do",
                        "speaker": "caller",
                        "start": 58800,
                        "end": 60400,
                        "turn": 11
                    },
                    {
                        "phrase": "car that won't be enough. for in house finance you must have at least thirty percent of the full price of the car",
                        "speaker": "called",
                        "start": 62040,
                        "end": 71090,
                        "turn": 12
                    },
                    {
                        "phrase": "i see so is there any hard that i could get with the one thousand pounds deposit",
                        "speaker": "caller",
                        "start": 71670,
                        "end": 76790,
                        "turn": 13
                    },
                    {
                        "phrase": "no currently we don't have any cars in that price range",
                        "speaker": "called",
                        "start": 78030,
                        "end": 81590,
                        "turn": 14
                    },
                    {
                        "phrase": "okay i understand",
                        "speaker": "caller",
                        "start": 82400,
                        "end": 83640,
                        "turn": 15
                    },
                    {
                        "phrase": "would you still like to come and take a look at it",
                        "speaker": "called",
                        "start": 84870,
                        "end": 87230,
                        "turn": 16
                    },
                    {
                        "phrase": "no it's okay thank you i'll reevaluate my options i think",
                        "speaker": "caller",
                        "start": 88040,
                        "end": 92160,
                        "turn": 17
                    },
                    {
                        "phrase": "alright thank you for your call",
                        "speaker": "called",
                        "start": 93450,
                        "end": 95010,
                        "turn": 18
                    },
                    {
                        "phrase": "thanks goodbye",
                        "speaker": "caller",
                        "start": 96080,
                        "end": 97040,
                        "turn": 19
                    },
                    {
                        "phrase": "bye",
                        "speaker": "called",
                        "start": 98290,
                        "end": 98450,
                        "turn": 20
                    }
                ]
            }
        ],
        "tags": [
            {
                "text": "Test Drive",
                "colour": "GOLD",
                "source_type": "insights_trigger"
            }
        ],
        "keyword_rules": [
            {
                "keyword_rule": "Caller mentioned make - BMW",
                "keywords": [
                    {
                        "keyword": "BMW",
                        "count": 1
                    }
                ]
            },
            {
                "keyword_rule": "Test Drive discussed",
                "keywords": [
                    {
                        "keyword": "take a look",
                        "count": 2
                    }
                ]
            }
        ],
        "tasks": []
    }
]