---
availability: INSTALLABLE
description: Connect your Moveworks AI Assistant to the Data API to surface conversation insights, interaction analytics, plugin execution logs, and user data.
name: Data API Unified Analytics
installation_asset_uuid: 34cff60f-f3c8-48f9-b1c9-7658ead0d994
purple_chat_link: https://marketplace.moveworks.com/purple-chat?conversation=%7B%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Can+you+pull+an+analytics+report+for+the+last+2+weeks%3F+I+need+the+total+interaction+volume+and+the+top+5+search+topics+users+are+asking+about.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Querying+%3Cb%3EMoveworks+Data+API%3C%2Fb%3E+for+interaction+logs+and+search+telemetry...%22%2C%22connectorName%22%3A%22moveworks%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Aggregating+search+queries+and+identifying+top-ranking+intents...%22%2C%22connectorName%22%3A%22moveworks%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp%3EHere+is+the+analytics+summary+for+the+last+14+days%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ETotal+Interactions%3A%3C%2Fb%3E+42%2C850%3C%2Fli%3E%3Cli%3E%3Cb%3EUnique+Users%3A%3C%2Fb%3E+8%2C200%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cb%3ETop+5+Search+Topics%3A%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E1.+%3Ci%3EVPN+Troubleshooting%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E2.+%3Ci%3EOpen+Enrollment+2024%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E3.+%3Ci%3EPassword+Reset%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E4.+%3Ci%3EHoliday+Calendar%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E5.+%3Ci%3EWorkday+Expense+Policy%3C%2Fi%3E%3C%2Fli%3E%3C%2Ful%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22moveworks%22%2C%22citationTitle%22%3A%22Search+Analytics+Oct+2024%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22How+do+those+interactions+translate+into+actual+plugin+calls%3F+Specifically%2C+show+me+the+abandonment+rate+for+the+%27Submit+Expense%27+and+%27Request+Leave%27+plugins+during+that+same+time+period.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Cross-referencing+interaction+intents+with+plugin+execution+events+via+%3Cb%3EMoveworks+Data+API%3C%2Fb%3E...%22%2C%22connectorName%22%3A%22moveworks%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Calculating+conversion+and+abandonment+rates+for+specific+workflows...%22%2C%22connectorName%22%3A%22moveworks%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp%3EIn+the+last+2+weeks%2C+there+were+%3Cb%3E12%2C400+total+plugin+calls%3C%2Fb%3E.+Here+are+the+performance+metrics+for+your+requested+plugins%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ESubmit+Expense+%28Coupa%29%3A%3C%2Fb%3E+12.4%25+abandonment+rate+%281%2C850+completions%29%3C%2Fli%3E%3Cli%3E%3Cb%3ERequest+Leave+%28Workday%29%3A%3C%2Fb%3E+15.1%25+abandonment+rate+%28920+completions%29%3C%2Fli%3E%3C%2Ful%3E%3Cp%3EMost+drop-offs+in+the+expense+workflow+occurred+during+the+%27Receipt+Attachment%27+step.%3C%2Fp%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22moveworks%22%2C%22citationTitle%22%3A%22Plugin+Conversion+Report%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Finally%2C+give+me+a+summarized+executive+report+for+the+last+6+months.+I+need+the+total+interactions%2C+total+plugin+calls%2C+and+the+overall+abandonment+rate+trend.+Please+also+include+active+user+counts%2C+platform+distribution%2C+and+usage+ratios.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Retrieving+180-day+historical+data+from+%3Cb%3EMoveworks+Data+API%3C%2Fb%3E...%22%2C%22connectorName%22%3A%22moveworks%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Analyzing+platform+adoption+and+calculating+user+engagement+ratios...%22%2C%22connectorName%22%3A%22moveworks%22%7D%5D%7D%2C%7B%22apiBlock%22%3A%7B%22code%22%3A%22hist_df+%3D+pd.DataFrame%28fetch_historical_data%28days%3D180%29%29%5C%5Cnsummary+%3D+%7B%5C%5Cn++%27total_interactions%27%3A+len%28hist_df%29%2C%5C%5Cn++%27active_users%27%3A+hist_df%5B%27user_id%27%5D.nunique%28%29%2C%5C%5Cn++%27platform_dist%27%3A+hist_df%5B%27platform%27%5D.value_counts%28normalize%3DTrue%29.to_dict%28%29%2C%5C%5Cn++%27abandon_trend%27%3A+hist_df.resample%28%27M%27%2C+on%3D%27timestamp%27%29%5B%27is_abandoned%27%5D.mean%28%29.to_list%28%29%5C%5Cn%7D%5C%5Cnprint%28summary%29%22%2C%22caption%22%3A%22Generating+6-month+historical+trend+analysis+and+platform+metrics%22%2C%22connectorName%22%3A%22python%22%2C%22title%22%3A%22Data+Analysis%3A+Executive+Summary%22%7D%7D%2C%7B%22richText%22%3A%22%3Cp%3EHere+is+the+detailed+executive+summary+for+the+last+6+months+%28May+%E2%80%93+October%29%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ETotal+Interactions%3A%3C%2Fb%3E+285%2C400%3C%2Fli%3E%3Cli%3E%3Cb%3ETotal+Plugin+Calls%3A%3C%2Fb%3E+84%2C200%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Abandonment+Rate%3A%3C%2Fb%3E+10.5%25+%28improved+from+13.2%25+in+Q2%29%3C%2Fli%3E%3Cli%3E%3Cb%3ETotal+Active+Users%3A%3C%2Fb%3E+24%2C150%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cb%3EPlatform+Distribution+%26amp%3B+Ratios%3A%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ESlack%3A%3C%2Fb%3E+82%25+%2819%2C803+active+users%29%3C%2Fli%3E%3Cli%3E%3Cb%3EMicrosoft+Teams%3A%3C%2Fb%3E+13%25+%283%2C139+active+users%29%3C%2Fli%3E%3Cli%3E%3Cb%3EWeb+Assistant%3A%3C%2Fb%3E+5%25+%281%2C208+active+users%29%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cb%3EExecutive+Insight%3A%3C%2Fb%3E+While+Slack+remains+the+primary+interface%2C+the+%3Cb%3E5%25+Web+Assistant+usage+ratio%3C%2Fb%3E+suggests+an+opportunity+to+promote+the+widget+on+the+company+intranet+to+capture+users+who+aren%27t+active+in+chat+clients.%3C%2Fp%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22moveworks%22%2C%22citationTitle%22%3A%22H2+2024+Executive+Insights+Report%22%7D%5D%7D%5D%7D%5D%7D
solution_tags:
- AI Assistant Analytics
systems:
- moveworks-data-api
---
# Description
This plugin enables admins and analysts to query and analyze **Moveworks platform usage data** directly through the **Moveworks AI Assistant**, eliminating the need to navigate dashboards or export raw data manually.
Understanding how employees interact with the AI Assistant — which plugins get used, which knowledge articles get cited, how conversations route across domains — typically requires exporting data, building custom reports, or waiting on BI teams. This plugin removes that friction by letting users ask analytical questions in natural language and get instant answers backed by real platform data.
# User Experience Preview
Please refer to the following [**Purple Chat**](https://marketplace.moveworks.com/purple-chat?conversation=%7B%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Can+you+pull+an+analytics+report+for+the+last+2+weeks%3F+I+need+the+total+interaction+volume+and+the+top+5+search+topics+users+are+asking+about.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Querying+%3Cb%3EMoveworks+Data+API%3C%2Fb%3E+for+interaction+logs+and+search+telemetry...%22%2C%22connectorName%22%3A%22moveworks%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Aggregating+search+queries+and+identifying+top-ranking+intents...%22%2C%22connectorName%22%3A%22moveworks%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp%3EHere+is+the+analytics+summary+for+the+last+14+days%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ETotal+Interactions%3A%3C%2Fb%3E+42%2C850%3C%2Fli%3E%3Cli%3E%3Cb%3EUnique+Users%3A%3C%2Fb%3E+8%2C200%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cb%3ETop+5+Search+Topics%3A%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E1.+%3Ci%3EVPN+Troubleshooting%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E2.+%3Ci%3EOpen+Enrollment+2024%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E3.+%3Ci%3EPassword+Reset%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E4.+%3Ci%3EHoliday+Calendar%3C%2Fi%3E%3C%2Fli%3E%3Cli%3E5.+%3Ci%3EWorkday+Expense+Policy%3C%2Fi%3E%3C%2Fli%3E%3C%2Ful%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22moveworks%22%2C%22citationTitle%22%3A%22Search+Analytics+Oct+2024%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22How+do+those+interactions+translate+into+actual+plugin+calls%3F+Specifically%2C+show+me+the+abandonment+rate+for+the+%27Submit+Expense%27+and+%27Request+Leave%27+plugins+during+that+same+time+period.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Cross-referencing+interaction+intents+with+plugin+execution+events+via+%3Cb%3EMoveworks+Data+API%3C%2Fb%3E...%22%2C%22connectorName%22%3A%22moveworks%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Calculating+conversion+and+abandonment+rates+for+specific+workflows...%22%2C%22connectorName%22%3A%22moveworks%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp%3EIn+the+last+2+weeks%2C+there+were+%3Cb%3E12%2C400+total+plugin+calls%3C%2Fb%3E.+Here+are+the+performance+metrics+for+your+requested+plugins%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ESubmit+Expense+%28Coupa%29%3A%3C%2Fb%3E+12.4%25+abandonment+rate+%281%2C850+completions%29%3C%2Fli%3E%3Cli%3E%3Cb%3ERequest+Leave+%28Workday%29%3A%3C%2Fb%3E+15.1%25+abandonment+rate+%28920+completions%29%3C%2Fli%3E%3C%2Ful%3E%3Cp%3EMost+drop-offs+in+the+expense+workflow+occurred+during+the+%27Receipt+Attachment%27+step.%3C%2Fp%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22moveworks%22%2C%22citationTitle%22%3A%22Plugin+Conversion+Report%22%7D%5D%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Finally%2C+give+me+a+summarized+executive+report+for+the+last+6+months.+I+need+the+total+interactions%2C+total+plugin+calls%2C+and+the+overall+abandonment+rate+trend.+Please+also+include+active+user+counts%2C+platform+distribution%2C+and+usage+ratios.%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Retrieving+180-day+historical+data+from+%3Cb%3EMoveworks+Data+API%3C%2Fb%3E...%22%2C%22connectorName%22%3A%22moveworks%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Analyzing+platform+adoption+and+calculating+user+engagement+ratios...%22%2C%22connectorName%22%3A%22moveworks%22%7D%5D%7D%2C%7B%22apiBlock%22%3A%7B%22code%22%3A%22hist_df+%3D+pd.DataFrame%28fetch_historical_data%28days%3D180%29%29%5C%5Cnsummary+%3D+%7B%5C%5Cn++%27total_interactions%27%3A+len%28hist_df%29%2C%5C%5Cn++%27active_users%27%3A+hist_df%5B%27user_id%27%5D.nunique%28%29%2C%5C%5Cn++%27platform_dist%27%3A+hist_df%5B%27platform%27%5D.value_counts%28normalize%3DTrue%29.to_dict%28%29%2C%5C%5Cn++%27abandon_trend%27%3A+hist_df.resample%28%27M%27%2C+on%3D%27timestamp%27%29%5B%27is_abandoned%27%5D.mean%28%29.to_list%28%29%5C%5Cn%7D%5C%5Cnprint%28summary%29%22%2C%22caption%22%3A%22Generating+6-month+historical+trend+analysis+and+platform+metrics%22%2C%22connectorName%22%3A%22python%22%2C%22title%22%3A%22Data+Analysis%3A+Executive+Summary%22%7D%7D%2C%7B%22richText%22%3A%22%3Cp%3EHere+is+the+detailed+executive+summary+for+the+last+6+months+%28May+%E2%80%93+October%29%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ETotal+Interactions%3A%3C%2Fb%3E+285%2C400%3C%2Fli%3E%3Cli%3E%3Cb%3ETotal+Plugin+Calls%3A%3C%2Fb%3E+84%2C200%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Abandonment+Rate%3A%3C%2Fb%3E+10.5%25+%28improved+from+13.2%25+in+Q2%29%3C%2Fli%3E%3Cli%3E%3Cb%3ETotal+Active+Users%3A%3C%2Fb%3E+24%2C150%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cb%3EPlatform+Distribution+%26amp%3B+Ratios%3A%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3ESlack%3A%3C%2Fb%3E+82%25+%2819%2C803+active+users%29%3C%2Fli%3E%3Cli%3E%3Cb%3EMicrosoft+Teams%3A%3C%2Fb%3E+13%25+%283%2C139+active+users%29%3C%2Fli%3E%3Cli%3E%3Cb%3EWeb+Assistant%3A%3C%2Fb%3E+5%25+%281%2C208+active+users%29%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cb%3EExecutive+Insight%3A%3C%2Fb%3E+While+Slack+remains+the+primary+interface%2C+the+%3Cb%3E5%25+Web+Assistant+usage+ratio%3C%2Fb%3E+suggests+an+opportunity+to+promote+the+widget+on+the+company+intranet+to+capture+users+who+aren%27t+active+in+chat+clients.%3C%2Fp%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22moveworks%22%2C%22citationTitle%22%3A%22H2+2024+Executive+Insights+Report%22%7D%5D%7D%5D%7D%5D%7D) for a sample conversational experience between a user and the AI Assistant for this plugin.
**Example interactions:**
- *"How many interactions did the bot have last week?"* → Returns a total count instantly.
- *"Show me the top 5 most used plugins by volume this month."* → Fetches raw plugin call records, runs SDA analysis, and returns a ranked breakdown.
- *"Compare the served versus used rates for plugin calls over the last 90 days."* → Deep analytics mode with cross-field calculations.
# Pre-requisites
Before installing and using the **DataAPI Unified Analytics** plugin, please ensure the following requirements are met:
## **1. Moveworks Data API Connector**
This plugin requires an active **Data API connector** (preferably API key) to communicate with the Moveworks Data API.
- If you have not already configured the connector, please follow the [**Data API — Connector Guide**](https://marketplace.moveworks.com/connectors/moveworks-data-api#how-to-implement) to set up an API key or OAuth token for your org.
- For full details on Data API integration and available objects, refer to the [**Data API — How to Build Integration with the API**](https://help.moveworks.com/ai-assistant/analytics-performance/data-api/how-to-build-integration-with-the-api) documentation.
- The connector must be fully set up before installing this plugin.
- Once the connector is successfully configured, follow our [**plugin installation documentation**](https://help.moveworks.com/docs/ai-agent-marketplace-installation) for detailed steps on how to install and activate the plugin in **Agent Studio**.
> **Note**: The plugin does not write or modify any data. It is strictly read-only and uses GET requests across all endpoints.
>
---
# **Implementation Details**
## Visual Representation of How the Plugin Works

---
## API Details
### **API #1: Get Interactions Count**
This API fetches the total number of interactions within a date range. Used in both the fast path (to return the count directly) and the deep path (to calculate pagination offsets).
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/interactions/$count?$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `start_date` *(string):* Start of the date range in `YYYY-MM-DD` format.
- `end_date` *(string):* End of the date range in `YYYY-MM-DD` format.
**Returns:** Integer count.
---
### **API #2: Get Raw Interactions Data**
This API fetches paginated raw interaction records for deep analysis. The compound action calculates offsets based on the count and fetches all pages in parallel.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/interactions?$skip={{skip}}&$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `skip` *(string):* Pagination offset (increments of 500).
- `start_date` *(string):* Start of the date range.
- `end_date` *(string):* End of the date range.
**Key Fields Returned (per interaction):**
- `actor` *(string):* `user` or `bot` — use to separate user inputs from AI responses.
- `type` *(string):* Action type: `FREE_TEXT`, `BUTTON_CLICK`, `LINK_CLICK`, `BOT_MESSAGE`.
- `detail.domain` *(string):* The detected domain (IT, HR, FINANCE, etc.). Only populated for user free-text.
- `detail.entity` *(string | null):* Detected search topics (e.g., `vpn`, `pto`).
- `detail.content` *(string | null):* The raw content of the interaction.
- `detail.resource_id` *(string | null):* Resource ID if the interaction referenced a specific resource.
- `platform` *(string):* Interaction surface: `msteams`, `slack`, `web`.
- `conversation_id` *(string):* Links to the parent conversation.
- `user_id` *(string):* Links to the user record.
- `created_time` *(string):* Timestamp of the interaction.
- `parent_interaction_id` *(string | null):* The parent interaction, if this is a follow-up.
- `label` *(string | null):* Classification label applied to the interaction.
**Key Nuances:**
- The `detail.domain` and `detail.entity` fields are only populated for interactions where `actor` is `user` and `type` is `FREE_TEXT`. Bot messages and button clicks do not carry domain/entity annotations.
- Use the `platform` field to analyze interaction surface distribution (e.g., Slack vs Teams vs Web adoption).
---
### **API #3: Get Users Count**
This API fetches the total number of ingested users updated since yesterday (dynamic date).
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/users/$count?$orderby=id&$filter=last_updated_time gt '{{yesterday_date}}T06:27:58.321Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `yesterday_date` *(string):* Yesterday's date in `YYYY-MM-DD` format. Automatically calculated within the compound action.
**Returns:** Integer count.
---
### **API #4: Get Raw Users Data**
This API fetches paginated raw user records for deep analysis.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/users?$skip={{skip}}&$filter=last_updated_time gt '{{yesterday_date}}T06:27:58.321Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `skip` *(string):* Pagination offset (increments of 500).
- `yesterday_date` *(string):* Yesterday's date. Automatically calculated by the compound action.
**Key Fields Returned (per user):**
- `access_to_bot` *(boolean):* Whether the user has bot access. If `false` and `external_ids` is null, the user is likely deprovisioned.
- `first_name` *(string | null):* User's first name.
- `last_name` *(string | null):* User's last name.
- `email_addr` *(string):* User's email address.
- `user_preferred_language` *(string):* Language preference: `EN_US`, `ES_ES`, `FR_CA`, etc.
- `first_interaction_time` *(string | null):* Timestamp of the user's first interaction with the bot. Use with `latest_interaction_time` to calculate user tenure.
- `latest_interaction_time` *(string | null):* Timestamp of the user's most recent interaction.
- `external_ids` *(array | null):* Array of connected systems. Each entry contains `connector_name`, `source`, and `external_id`. Null if no external integrations are linked. Useful for analyzing identity coverage across Okta, ServiceNow, Slack, etc.
- `last_updated_time` *(string):* Timestamp of the last user record update.
**Key Nuances:**
- The Users object uses `last_updated_time` as the filter rather than `created_time`. The compound action automatically calculates yesterday's date for the filter.
- A user with `access_to_bot: false` and `external_ids: null` is likely deprovisioned — useful for separating active users from inactive records.
---
### **API #5: Get Conversations Count**
This API fetches the total number of conversations within a date range.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/conversations/$count?$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `start_date` *(string):* Start of the date range in `YYYY-MM-DD` format.
- `end_date` *(string):* End of the date range in `YYYY-MM-DD` format.
**Returns:** Integer count.
---
### **API #6: Get Raw Conversations Data**
This API fetches paginated raw conversation records for deep analysis.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/conversations?$skip={{skip}}&$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `skip` *(string):* Pagination offset (increments of 500).
- `start_date` *(string):* Start of the date range.
- `end_date` *(string):* End of the date range.
**Key Fields Returned (per conversation):**
- `primary_domain` *(string | null):* Top-level domain for the conversation thread (IT, HR, FINANCE, etc.).
- `route` *(string):* Initiation method: `DM`, `Notification`, `Ticket_Interception`.
- `user_id` *(string):* Links to the user who initiated the conversation.
- `created_time` *(string):* Timestamp of conversation creation.
- `last_updated_time` *(string):* Timestamp of the last update to the conversation.
**Key Nuances:**
- The `route` field is key for understanding how users engage with the AI Assistant — whether they initiate via direct message, respond to a proactive notification, or are intercepted from a ticket submission.
- `primary_domain` may be null if the conversation did not produce a classifiable intent.
---
### **API #7: Get Plugin Calls Count**
This API fetches the total number of plugin calls within a date range.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/plugin-calls/$count?$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `start_date` *(string):* Start of the date range in `YYYY-MM-DD` format.
- `end_date` *(string):* End of the date range in `YYYY-MM-DD` format.
**Returns:** Integer count.
---
### **API #8: Get Raw Plugin Calls Data**
This API fetches paginated raw plugin call records for deep analysis.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/plugin-calls?$skip={{skip}}&$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `skip` *(string):* Pagination offset (increments of 500).
- `start_date` *(string):* Start of the date range.
- `end_date` *(string):* End of the date range.
**Key Fields Returned (per plugin call):**
- `plugin_name` *(string):* Native plugins use friendly names (e.g., `Knowledge Search`); custom plugins use underscored names (e.g., `Submit_PTO_Request`).
- `served` *(boolean):* Whether the plugin was surfaced to the user.
- `used` *(boolean):* Whether the user completed the plugin interaction.
- `interaction_id` *(string):* Links to the parent interaction.
- `conversation_id` *(string):* Links to the parent conversation.
- `user_id` *(string):* Links to the user who triggered the plugin.
- `created_time` *(string):* Timestamp of the plugin call.
- `plugin_update_time` *(string):* Timestamp of the last update. Use the delta against `created_time` to calculate plugin execution latency.
**Key Nuances:**
- The `served` vs `used` fields are the core metrics for plugin adoption analysis. A plugin that is frequently served but rarely used may indicate a triggering accuracy issue or poor user experience.
- `plugin_name` distinguishes native (Moveworks-built) plugins from custom plugins by naming convention — native plugins use friendly display names, while custom plugins use underscored identifiers.
---
### **API #9: Get Plugin Resources Count**
This API fetches the total number of plugin resources within a date range.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/plugin-resources/$count?$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `start_date` *(string):* Start of the date range in `YYYY-MM-DD` format.
- `end_date` *(string):* End of the date range in `YYYY-MM-DD` format.
**Returns:** Integer count.
---
### **API #10: Get Raw Plugin Resources Data**
This API fetches paginated raw plugin resource records for deep analysis.
```bash
curl --request GET \
--url 'https://api.moveworks.ai/export/v1/records/plugin-resources?$skip={{skip}}&$orderby=created_time&$filter=created_time gt '{{start_date}}T00:00:00Z' and created_time lt '{{end_date}}T00:00:00Z'' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Accept: application/json'
```
**Query Parameters:**
- `skip` *(string):* Pagination offset (increments of 500).
- `start_date` *(string):* Start of the date range.
- `end_date` *(string):* End of the date range.
**Key Fields Returned (per plugin resource):**
- `type` *(string):* Resource type prefix: `RESOURCE_TYPE_KNOWLEDGE`, `RESOURCE_TYPE_FORM`, etc.
- `cited` *(boolean):* Whether the resource was cited in the AI Assistant's response.
- `detail.name` *(string):* Article title or form name.
- `detail.snippet` *(string):* Exact text excerpt used by the LLM in its response.
- `created_time` *(string):* Timestamp of the resource record.
**Key Nuances:**
- The `cited` boolean is the core metric for knowledge effectiveness. A high volume of resources served but not cited may indicate content quality or relevance issues.
- `detail.snippet` provides transparency into exactly what text the LLM extracted from a knowledge article — useful for debugging citation accuracy and content coverage.
### API References
This plugin uses the **Moveworks Data API Export v1** endpoints across five data objects: Interactions, Users, Conversations, Plugin Calls, and Plugin Resources.
For detailed information on request parameters, response formats, pagination, and OData query syntax, please refer to the following documentation:
- [**Data API — Generate API Credentials**](https://help.moveworks.com/ai-assistant/analytics-performance/data-api/data-api-generate-api-credentials#how-do-i-create-new-credentials)
- [**Data API — How to Build Integration with the API**](https://help.moveworks.com/ai-assistant/analytics-performance/data-api/how-to-build-integration-with-the-api)
---
# **What Is In Scope for This Plugin?**
This plugin supports the following capabilities:
- Query **total counts and volumes** for any of the five datasets — Interactions, Users, Conversations, Plugin Calls, and Plugin Resources — with near-instant results via the fast path.
- Run **deep analytics** using the Code Interpreter (SDA), including week-over-week trends, cross-dataset joins, statistical aggregations, and distribution breakdowns.
- Analyze **interaction patterns**: trending search topics, interaction surface distribution (Slack vs Teams vs Web), domain distribution (IT, HR, Finance), and actor breakdowns (user vs bot).
- Analyze **user demographics**: bot access status, language preferences, external identity integration coverage (Okta, ServiceNow, Slack), and user tenure.
- Analyze **conversation routing**: volume by domain, routing patterns (DM vs Notification vs Ticket Interception), and daily conversation trends.
- Analyze **plugin performance**: top plugins by usage volume, served vs used rates, native vs custom plugin adoption, and plugin latency.
- Analyze **knowledge effectiveness**: citation rates, top cited resources, resource type breakdowns (Knowledge vs Forms), and snippet-level transparency.
- Query data using **natural language date expressions**, such as "last week", "this month", "last 30 days", or specific date ranges.
- Perform **cross-dataset analysis** by joining on shared keys (`user_id`, `conversation_id`, `id`).
- Handle date ranges **up to 30 days** for deep analysis, aligning with the Data API's TTL window. Simple count queries return near-instantly within this range.
---
# **What Is Out of Scope for This Plugin?**
This plugin does **not** support the following:
- **Querying data older than 30 days** — the Moveworks Data API is implementing a **30-day TTL (time-to-live)**, meaning the API will only allow data ingestion up to 30 days back. Queries requesting data beyond this window will not return results. For more details, see the [**Proactive Insights — Data API Community Post**](https://community.moveworks.com/stakeholder-tools-exi-mw-setup-ks-analytics-115/big-news-proactive-insights-are-coming-to-the-data-api-3286).
- **Exporting raw data** — this is an on-demand analytics tool, not a data export or ETL pipeline. Users cannot ask to "export all historical data."
- **Replacing a BI dashboard** — the plugin is designed for scoped, analytical questions. It should not be treated as a replacement for an organization's full BI or reporting infrastructure.
- **Writing or modifying data** — all operations are strictly read-only.
- **Querying all 5 datasets simultaneously with very large record counts** — there is a hard payload limit of **100MB raw**, and the reasoning engine's working memory caps at **~400KB compressed**. Fetching tens of thousands of records across all 5 objects in a single request can cause failures.
- **Queries that exceed the 2-minute execution timeout** — Agent Studio enforces a strict **160-second total lifecycle timeout**. Running up to five parallel pagination loops concurrently increases the risk of timing out, especially on queries spanning the full 30-day window across multiple datasets.
- Providing **recommendations, advice, or best practices** on how to improve metrics — the plugin strictly reports data and analytics. For optimization guidance, use Knowledge Search plugins.
- **Real-time or streaming data** — the plugin queries point-in-time snapshots from the Data API export endpoints.
- Querying data **on behalf of another organization** or across tenant boundaries.
- **Handling ambiguous or very broad requests with full precision** — because this plugin consolidates 5 datasets into a single "catch-all" description, the reasoning engine's intent routing can occasionally be less deterministic for vague queries compared to 5 individually scoped plugins.