Comprehensive view combining conversation summaries, AI-generated voice summaries, and copilot usage analytics for insights into summary effectiveness and usage patterns
CREATE VIEW vwcopilotsummaryinsights AS (
SELECT cs.conversationid,
cs.conversationstartdate,
cs.conversationenddate,
cs.conversationstartdateltc,
cs.conversationenddateltc,
cs.originaldirection,
cs.firstmediatype,
cs.lastmediatype,
cs.ani,
cs.dnis,
cs.firstagentid,
cs.lastagentid,
cs.firstqueueid,
cs.lastqueueid,
cs.ttalkcomplete,
cs.tqueuetime,
cs.tacw,
cs.tansweredcount,
cs.tanswered,
cs.tabandonedcount,
vs.summaryid,
vs.summarytype,
vs.summarytext,
vs.summarylanguage,
vs.summarymediatype,
vs.summaryresolution,
vs.summaryreason,
vs.summaryactionitem,
vs.summaryinsights,
vs.summaryrawjson,
vs.updated AS summary_updated,
cu.summaryrating,
cu.wrapupcoderating,
cu.copied AS summary_copied,
cu.presented AS summary_presented,
cu.summarygenerated,
cu.wrapupcodesgenerated,
cu.wrapupcodesuggestionselected,
cu.editedfield,
cu.errortype,
cu.language AS copilot_language,
cu.mediatype AS copilot_mediatype,
cu.messagetype,
cu.triggersourceoutcome,
cu.triggersourcetype,
cu.usagedate,
cu.nconversationsummaries,
cu.nconversationsummaryengagements,
cu.tconversationsummary,
cu.updated AS copilot_updated,
CASE
WHEN (vs.summaryid IS NOT NULL) THEN 'Has AI Summary'::text
ELSE 'No AI Summary'::text
END AS summary_status,
CASE
WHEN (cu.summaryid IS NOT NULL) THEN 'Has Copilot Data'::text
ELSE 'No Copilot Data'::text
END AS copilot_status,
CASE
WHEN (cu.summaryrating >= 4) THEN 'High Rating'::text
WHEN (cu.summaryrating >= 3) THEN 'Medium Rating'::text
WHEN (cu.summaryrating >= 1) THEN 'Low Rating'::text
ELSE 'Not Rated'::text
END AS summary_rating_category,
CASE
WHEN (cu.copied = true) THEN 'Copied'::text
WHEN (cu.presented = true) THEN 'Presented Only'::text
ELSE 'Not Used'::text
END AS summary_usage_type,
CASE
WHEN ((cs.conversationenddate IS NOT NULL) AND (cs.conversationstartdate IS NOT NULL)) THEN (EXTRACT(epoch FROM (cs.conversationenddate - cs.conversationstartdate)) / 60.0)
ELSE NULL::numeric
END AS conversation_duration_minutes,
CASE
WHEN ((cu.summaryrating IS NOT NULL) AND (cu.copied = true)) THEN 'Effective'::text
WHEN ((cu.summaryrating IS NOT NULL) AND (cu.presented = true)) THEN 'Viewed'::text
WHEN (vs.summaryid IS NOT NULL) THEN 'Generated'::text
ELSE 'None'::text
END AS summary_effectiveness
FROM ((convsummarydata cs
LEFT JOIN convvoicesummarydata vs ON (((cs.conversationid)::text = (vs.conversationid)::text)))
LEFT JOIN copilotusagedata cu ON ((((vs.summaryid)::text = (cu.summaryid)::text) AND ((cs.conversationid)::text = (cu.conversationid)::text))))
)| Name | Type | Default | Nullable | Children | Parents | Comment |
|---|---|---|---|---|---|---|
| conversationid | varchar(50) | true | ||||
| conversationstartdate | timestamp without time zone | true | ||||
| conversationenddate | timestamp without time zone | true | ||||
| conversationstartdateltc | timestamp without time zone | true | ||||
| conversationenddateltc | timestamp without time zone | true | ||||
| originaldirection | varchar(50) | true | ||||
| firstmediatype | varchar(50) | true | ||||
| lastmediatype | varchar(50) | true | ||||
| ani | varchar(400) | true | ||||
| dnis | varchar(400) | true | ||||
| firstagentid | varchar(50) | true | ||||
| lastagentid | varchar(50) | true | ||||
| firstqueueid | varchar(50) | true | ||||
| lastqueueid | varchar(50) | true | ||||
| ttalkcomplete | numeric(20,2) | true | ||||
| tqueuetime | numeric(20,2) | true | ||||
| tacw | numeric(20,2) | true | ||||
| tansweredcount | integer | true | ||||
| tanswered | numeric(20,2) | true | ||||
| tabandonedcount | integer | true | ||||
| summaryid | varchar(50) | true | ||||
| summarytype | varchar(50) | true | ||||
| summarytext | text | true | ||||
| summarylanguage | varchar(20) | true | ||||
| summarymediatype | varchar(25) | true | ||||
| summaryresolution | varchar(50) | true | ||||
| summaryreason | text | true | ||||
| summaryactionitem | text | true | ||||
| summaryinsights | text | true | ||||
| summaryrawjson | text | true | ||||
| summary_updated | timestamp without time zone | true | ||||
| summaryrating | integer | true | ||||
| wrapupcoderating | integer | true | ||||
| summary_copied | boolean | true | ||||
| summary_presented | boolean | true | ||||
| summarygenerated | boolean | true | ||||
| wrapupcodesgenerated | boolean | true | ||||
| wrapupcodesuggestionselected | boolean | true | ||||
| editedfield | varchar(100) | true | ||||
| errortype | varchar(100) | true | ||||
| copilot_language | varchar(10) | true | ||||
| copilot_mediatype | varchar(50) | true | ||||
| messagetype | varchar(50) | true | ||||
| triggersourceoutcome | varchar(100) | true | ||||
| triggersourcetype | varchar(100) | true | ||||
| usagedate | date | true | ||||
| nconversationsummaries | integer | true | ||||
| nconversationsummaryengagements | integer | true | ||||
| tconversationsummary | integer | true | ||||
| copilot_updated | timestamp without time zone | true | ||||
| summary_status | text | true | ||||
| copilot_status | text | true | ||||
| summary_rating_category | text | true | ||||
| summary_usage_type | text | true | ||||
| conversation_duration_minutes | numeric | true | ||||
| summary_effectiveness | text | true |
| Name | Columns | Comment | Type |
|---|---|---|---|
| cs.conversationenddate | 0 | ||
| public.convsummarydata | 39 | Conversation Summary Data | BASE TABLE |
| public.convvoicesummarydata | 17 | AI-generated summaries for voice conversations from Genesys Cloud Speech and Text Analytics | BASE TABLE |
| public.copilotusagedata | 25 | Copilot feature usage analytics data with full groupBy dimension support | BASE TABLE |