Multi-source data integration for ai assistant platform
The workflow management system addresses integration challenges by processing diverse data sources to generate actionable insights and prioritize tasks, ensuring accuracy and security, thus improving organizational efficiency and compliance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- AIDA TECHNOLOGY CORP
- Filing Date
- 2025-10-27
- Publication Date
- 2026-05-07
AI Technical Summary
Existing AI technologies face challenges in integrating with diverse data formats, authentication protocols, and API structures, leading to disjointed workflows and inaccurate outputs due to incomplete or unusable information, and there is a need for systems that can efficiently manage and prioritize tasks across multiple data sources while ensuring data privacy and security.
A workflow management system that integrates data from various sources using a data processing pipeline, including a crawler service, data processing service, and natural language processing service, to generate actionable insights and prioritize tasks, with features like entity extraction, pattern detection, and context construction, while ensuring data security and privacy.
The system provides a unified platform for generating actionable tasks and insights, ensuring accurate and efficient workflow management across diverse data sources, with secure and user-specific data access, enhancing organizational productivity and compliance.
Smart Images

Figure US2025052613_07052026_PF_FP_ABST
Abstract
Description
MULTI-SOURCE DATA INTEGRATION FOR Al ASSISTANTPLATFORMPRIORITY CLAIM
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 712,862, filed on October 28, 2024, which is hereby incorporated by reference in its entirety.TECHNICAL FIELD
[0002] The present disclosures relate to artificial intelligence (Al) and, in some examples, to Al systems to extract, contextualize, and prioritize actionable tasks and insights from distributed unstructured data sources.BACKGROUND
[0003] The field of task and workflow management faces several technical challenges. These include the integration and processing of data from multiple disparate sources such as emails, calendars, and customer relationship management (CRM) systems. Extracting meaningful information and actionable insights from large volumes of unstructured data presents significant computational and algorithmic hurdles. Additionally, prioritizing and managing tasks dynamically based on real-time information requires sophisticated algorithms and data processing capabilities. The development of systems that can understand context, extract relevant entities, and generate actionable tasks from various forms of communication is an area of ongoing research and development. Furthermore, ensuring data privacy, security, and compliance while processing sensitive business information across multiple platforms adds another layer of complexity to these systems.BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Some examples are shown for purposes of illustration and not limitation in the figures of the accompanying drawings. In the drawings,which are not necessarily drawn to scale, like numerals may describe similar components in different views or examples. It should be understood that additional and alternative examples are possible without departing from the principles of the subject matter described herein.
[0005] FIG. 1 illustrates a workflow management system, according to some examples.
[0006] FIG. 2 illustrates a network environment that includes a workflow management system, according to some examples.
[0007] FIG. 3 illustrates a workflow management system, according to some examples.
[0008] FIG. 4 illustrates a method for generating actionable tasks and insights, according to some examples.
[0009] FIG. 5 illustrates a method for generating actionable tasks, according to some examples.
[0010] FIG. 6 illustrates a method for generating actionable insights, according to some examples.
[0011] FIG. 7 illustrates a method for surfacing actionable tasks and insights, according to some examples.
[0012] FIG. 8 illustrates an interface provided by a workflow management system, according to some examples.
[0013] FIG. 9 illustrates an interface provided by a workflow management system, according to some examples.
[0014] FIG. 10A illustrates an interface provided by a workflow management system, according to some examples.
[0015] FIG. 10B illustrates an interface provided by a workflow management system, according to some examples.
[0016] FIG. 11A illustrates an interface provided by a workflow management system, according to some examples.
[0017] FIG. 1 IB illustrates an interface provided by a workflow management system, according to some examples.
[0018] FIG. 12 illustrates an example method performed by a workflow management system, according to some examples.
[0019] FIG. 13 illustrates a machine learning system, according to some examples.
[0020] FIG. 14 illustrates a machine learning pipeline, according to some examples.
[0021] FIG. 15 illustrates a system architecture showing a layered view of an artificial intelligence (Al) integrated system, according to some examples.
[0022] FIG. 16 illustrates a software architecture within which examples may be implemented, according to some examples.
[0023] FIG. 17 illustrates a machine in the form of a computing system, within which a set of instructions may be executed to cause the machine to perform any one or more of the methods discussed herein, according to some examples.DETAILED DESCRIPTION
[0024] As artificial intelligence (Al) technologies become more advanced, more industries are increasingly incorporating Al technologies in various technical applications. For example, in various industries, Al technologies are being integrated with other existing technologies to enhance the workflows of these industries. These technologies may operate using different data formats, authentication protocols, and API structures, creating technical barriers to unified data access and processing. As these technical barriers prevent access to accurate and usable information, Al technologies that integrate with them operate on incomplete, inaccurate, and unusable information. Therefore, these technical barriers present technical challenges related to Al technologies, as incomplete, inaccurate, or unusable information leads to hallucinations or the generation of inaccurate outputs. These technical challenges are exacerbated as various industries continue to adopt new technologies operating using different data formats, authentication protocols, and API structures.
[0025] Additionally, as various industries continue to adopt new technologies, the workflows utilized in these industries become increasingly disjointed. A technology adopted to enhance an aspect of a workflow may be incompatible (e.g., operating using different data formats, authentication protocols, and API structures) with other technologies used for other aspects of the workflow. As these technologies are disjointed by technical barriers, they are unable to operate efficiently, as information related to one aspect of a workflow is prevented from being communicated to another aspect of the workflow. Thus, Al technologies and other computer-related technologies face technical challenges in generating accurate and usable outputs and efficiently orchestrating multiple technologies that are disjointed by technical barriers.
[0026] Examples described herein seek to address these and other technical challenges arising in the field of Al technologies. In some examples, a workflow management system provides a comprehensive system for task and thought management that integrates data from various sources to generate actionable insights and prioritized tasks. The workflow management system includes several interconnected components and services that work together to collect, process, and analyze data from the various sources using a data processing pipeline. The data processing pipeline begins with a data collection service (e.g., crawler service) that collects raw data from various sources such as email APIs and other business applications. This data collection service utilizes multiple data collection instances (e.g., crawler instances) that are configured to interact with different data sources. A trigger mechanism initiates the data collection process, ensuring that data is collected at appropriate intervals.
[0027] Once the raw data is collected, it is passed to a data processing service (e.g., processor service). The data processing service includes several subcomponents, including a data analyzer (e.g., parser), a data structuring component (e.g., data modeler), and a metadata enhancement module (e.g., metadata attachment module). The data analyzer parses and breaks down the raw data into meaningful segments. The data structuringcomponent structures this parsed data into a standardized format. The metadata enhancement module enriches the structured data with additional contextual information. This processed, structured, and enriched data is stored in a centralized data repository (e.g., data model repository). This repository serves as a centralized storage for all modeled data, including documents, events, and other information relevant to a task or workflow.
[0028] Next in the data processing pipeline, the modeled data is provided to a natural language processing service (e.g., LLM augmenter I (re-)ranking service). The natural language processing service utilizes a machine learning API (e.g., foundation model (LLM) API) to perform advanced natural language processing tasks. The natural language processing service includes several subcomponents, such as an entity identification component (e.g., entity extractor), which identifies and extracts relevant entities from the processed data, and a pattern detection component (e.g., signal extractor), which detects patterns or signals within the data that are relevant for task generation and insight derivation. The natural language processing service includes a context generation component (e.g., context constructor) that builds a contextual framework using extracted entities and detected signals. This contextual framework is then further enriched through an augmentation process, which integrates additional relevant information to improve the quality and relevance of the output. The natural language processing service includes a prioritization component (e.g., (re-)ranker) that adjusts the priority and relevance of tasks and insights derived from the extracted entities and detected signals. This ensures that the most pertinent data is highlighted in the final output.
[0029] The output of this data processing pipeline is a set of contextualized data, which includes actionable tasks and valuable insights. These are stored in a database (e.g., document / entity / task datastore (RDB)). The workflow management system provides APIs that allow external applications to access and utilize the contextualized data, including the actionable tasks and insights. This enables the workflow management system to integrate with various business tools and user interfaces.
[0030] The workflow management system is designed to be flexible and scalable, allowing for the integration of various data sources and the customization of processing steps based on specific needs. For example, the workflow management system may include additional components such as a customer relationship management tracker (c.g., CRM tracker). This tracker can store relevant documents and status updates and manage permissions related to customer interactions. The workflow management system can be adapted to various roles within an organization, including account executives, sales managers, and customer support representatives.
[0031] In some examples, a workflow management system instantiates a plurality of crawler instances within a crawler service that operates to collect data from multiple heterogeneous data sources, including email systems, calendar systems, customer relationship management platforms, and communication systems. These crawler instances function as independent data collection units that formulate API calls to specific data sources, utilizing data source configuration registries to establish appropriate connections and retrieve data in the form of raw, unstructured information. The collected data undergoes standardization through a processor service that includes a data modeler, which transforms the unstructured raw data into standardized, analyzable formats by identifying categories for individual data instances within the collected dataset and applying predefined schemas corresponding to each identified category. For each data instance, a category, such as email communication, calendar event, meeting invite, or personal note, is identified for the data instance. The data modeler standardizes each data instance according to a data structure corresponding to the category identified for the data instance. The processor service incorporates a metadata attachment module that attaches additional contextual information, including timestamps, source identifiers, and relationship indicators, to the data structure, thereby enhancing data utility and facilitating subsequent analysis operations. The enhanced data instance, which includes both the standardized data and the attached metadata, is stored in datastores that serve as centralized repositories. The workflow management system provides access to the stored data through APIs thatallow external applications and services to retrieve and utilize the information while implementing security measures that control data access based on user permissions and privacy policies.
[0032] In some examples, a workflow management system implements data collection capabilities through crawler instances that interface with multiple categories of data sources to gather heterogeneous information across different systems. The crawler service operates through data source APIs that enable systematic retrieval of raw data from, for example, email systems, calendar systems, customer relationship management systems, and communication platforms. The crawler service may interface with email systems to access, for example, organizational communications, message threads, and correspondence metadata. The crawler service may interface with calendar systems to access, for example, scheduling information, meeting details, event participants, and other workflow-related temporal data. The crawler service may interface with customer relationship management systems to access, for example, customer information, account status, interaction history, deal progression, deal size, revenue data, and other business relationship data. The crawler service may interface with communication platforms to access, for example, conversation transcripts, team communications, collaboration data, and other workflow-related messages. Each crawler instance utilizes data source configuration registries that specify the authentication parameters, access requirements, and connection protocols necessary for interfacing with these data source types, allowing the workflow management system to formulate appropriate API calls and establish secure connections across the heterogeneous data landscape. This multi-source data collection architecture enables the system to aggregate information from various systems, including email systems, calendar systems, customer relationship management systems, and communication platforms, into a unified data processing pipeline that supports downstream analysis and task management operations.
[0033] The crawler instances utilize API calls generated by the workflow management system to access specific data sources through data sourceconfiguration registries. The data source configuration registries maintain communication parameters and authentication credentials for accessing the data sources. Each crawler instance operates by utilizing data source configuration registries that specify authentication parameters, access requirements, and connection protocols necessary for interfacing with different types of data sources. The data source configuration registries enable the crawler instances to establish appropriate connections and retrieve raw data by providing authentication credentials, API endpoints, and access control information to formulate proper API calls to each respective data source. This configuration-based approach allows the workflow management system to systematically interface with multiple heterogeneous data sources through standardized API call mechanisms while maintaining security and access control requirements specific to each data source type. The crawler instances reference these configuration registries to help ensure that API calls are properly formatted with the correct authentication headers, request parameters, and connection protocols used by each individual data source, providing for reliable and secure data retrieval operations.
[0034] In some examples, a workflow management system implements context construction functionality using an augmenter machine learning model. The augmenter machine learning model operates as part of an LLM augmenter / ranking service to generate context for tasks. The augmented machine learning model generates contextual information by aggregating and analyzing data from various sources, which are collected by the crawler service. The augmented machine learning model identifies relationships between conversations, entities, and interactions within the data collected by the crawler service, and builds a framework based on these relationships to determine how the performance of one task may affect another task. Based on this framework, the workflow management system generates contextual information for each task that a user is to perform.
[0035] The augmenter machine learning model may utilize prompts for an LLM based on specific user contexts and predefined examples, facilitating the generation of actionable tasks and insights from the data collected by thecrawler service. For example, the context construction process may retrieve data, including conversations, notes, and documents, and synthesize this information based on factors such as recency, shared entities, and topical relevance to create a contextual framework that allows the data to be appropriately associated with tasks and insights for a user. Using the contextual framework, the workflow management system can map tasks to the appropriate users and provide contextual information that facilitates task prioritization, ranking, and re-ranking based on the identified relationships.
[0036] In some examples, a workflow management model uses an augmenter machine learning model to identify and extract entities from data collected by the crawler service. For example, the augmenter machine learning model may include an entity extractor component that identifies and extracts entities from the data, such as names, email addresses, telephone numbers, employee IDs, and other identifiers. The identifiers are mapped to the data sources from which the data is collected to facilitate consistent matching of data associated with an entity with the data from the data sources. In some examples, the augmenter machine learning model utilizes exact matching and fuzzy matching techniques to assign data to their corresponding entities. Fuzzy matching techniques may be employed based on data sources or data categories where variations in identifiers, such as names, may be expected. Exact matching techniques may be employed based on data sources or data categories where identifiers, such as telephone numbers and employee IDs, are more likely to be consistent.
[0037] In some examples, the augmenter machine learning model integrates with an LLM to perform context-based identification, facilitating the assignment of data to entities based on contextual information associated with the data. For example, messages without express identifiers, such as names, telephone numbers, and employee IDs, may be analyzed by the LLM to determine entities likely associated with the messages. The LLM may determine the likely entities using contextual information such as meeting participants and message recipients.
[0038] The workflow management model categorizes extracted entities using the augmenter machine learning model to assign roles to the entities and determine relationships between the entities. In some examples, categorizing the entities involves generating a hierarchical relational framework that maps the relationships between the entities. The framework is used as contextual information for generating task-related insights, assigning tasks to users, task prioritization, task ranking, and task reranking. For example, the framework may be used to identify entities as task sources or task targets. Users associated with the entities associated with the task targets may be assigned the tasks provided by the task sources.
[0039] In some examples, a workflow management system uses an augmenter machine learning model to generate an organizational framework mapping relationships between entities and tasks extracted from data collected by a crawler service. The workflow management system uses the organizational framework to determine dependencies between tasks to be performed by users. For example, the workflow management system may utilize an augmenter machine learning model to examine data, including messages, notes, and other communications, and identify relationships between entities and tasks. The workflow management system may also analyze existing and past workflow patterns to identify relationships between the entities and the tasks.
[0040] Based on the relationships between the entities and the tasks, an organizational framework may be generated to map, for example, hierarchical and organizational relationships between the entities and workflow relationships between the tasks. The organizational framework may map, for example, a workflow pattern of tasks that identify tasks that are prerequisites or dependent upon other tasks. Based on the organizational framework, the workflow management system may generate contextual information, including temporal sequences, causal relationships, and workflow dependencies between tasks, and may use this contextual information to surface tasks to users.
[0041] The tasks may be prioritized, ranked, re-ranked, and scheduled based on the contextual information. For example, a task that is a prerequisite for other tasks (e.g., the other tasks depend on this task) may be ranked higher than tasks that are not prerequisites for other tasks (e.g., no tasks depend on this task). A task that is a prerequisite for a relatively higher number of tasks may be ranked higher than a task that is a prerequisite for a relatively lower number of tasks. A task that is a prerequisite for a high-priority task may be ranked lower than a task that is a prerequisite for a low-priority task. A task that is dependent on other tasks (e.g., the task cannot be completed until the other tasks are completed) may be ranked lower than tasks that are not dependent on other tasks (e.g., the task can be completed now). A task that is dependent on other tasks that cannot currently be completed (e.g., the task depends on tasks that are dependent on other tasks) may not be scheduled until the tasks it depends on can be completed. Task prioritization, ranking, re-ranking, and scheduling may utilize dependencies as well as other contextual information to surface prioritized tasks in an order that facilitates the efficient performance of the tasks with respect to the overall workflow. Dependency identification may also help prevent scheduling conflicts or workflow bottlenecks that may arise when a task that is a prerequisite for many other tasks is not prioritized appropriately.
[0042] In some examples, a workflow management system utilizes a data modeler to standardize data collected by a crawler service into a unified format that serves as a basis for extracting actionable tasks and insights. The data modeler may apply a common data structure and map unstructured data from multiple data sources crawled by the crawler service to the common data structure. For example, the data modeler may standardize date formats, units of measurement, and entity names according to the common data structure.
[0043] In some examples, the data modeler is a machine learning model trained to map data from different data sources to a predefined schema provided by a common data structure. The data modeler may be trained toevaluate variations in data formats and identify the most likely target in the predefined schema. For example, the data modeler may be trained to identify variations of date formats, timestamp formats, measurement formats, and naming formats, and associate the variations with their likely targets (c.g., standardized date format, standardized timestamp format, standardized measurement format, standardized naming format). The variations in data formats may be standardized based on the predefined schema and stored in the common data structure. In some examples, the data modeler may be trained to map particular data instances that have been standardized and stored in the common data structure to each other based on a determination that these particular data instances are variations of each other. For example, the data modeler may identify that multiple variations of two standardized entity names match each other and, based on this matching, determine that the two standardized entity names and their variations are variations of one standardized entity name. The standardized data stored in the common data structure for these two standardized entity names may be merged into one standardized entity name. Applying appropriate standardization to data collected from different data sources facilitates the production of uniformly structured data suitable for downstream processing and analysis. Mapping the data collected from various data sources helps ensure that data elements, such as dates, timestamps, entity identifiers, content fields, and metadata, are consistently represented and accurately attributed across different data sources.
[0044] In some examples, a workflow management system may operate a crawler service continuously to monitor for new and updated information, triggering updates in real-time. For example, a crawler instance may operate to incrementally (e.g., 10-minute increments, 5 -minute increments, 1-minute increments) poll a particular data source or continuously monitor the particular data source to detect updates. When an update is detected, the crawler instance may initiate a crawling operation to access the updated data and provide the updated data to the workflow management system. In some examples, the workflow management system formulates crawler instances that operate to detect triggering events in data sources and, based on thedetection of these triggering events, use crawler instances that operate to crawl the data sources for data. As organizational workflows often involve various technologies, and these technologies typically do not broadcast updates as they occur, the workflow management system utilizes the crawler service to provide continuous monitoring and real-time updates.
[0045] In some examples, a workflow management system implements security measures to control access to data. Permission-based access controls and privacy policy enforcement mechanisms may be utilized to help ensure that users view actionable tasks and insights specific to them. For example, data collected through a crawler service may be used to generate actionable tasks and insights for implementing efficient workflows. Security measures may be implemented to restrict the data based on an organizational framework associated with the data, permissions associated with entities of the organizational framework, and privacy policies. For example, an entity in one level of the organizational framework may be restricted from accessing data associated with other entities of another level of the organizational framework. Based on the security measures, certain data is prevented from being included in the actionable tasks and insights that are surfaced to the users.
[0046] For example, a user associated with a first entity in an organization may be restricted from accessing data associated with a second entity in the organization. The workflow management system may use data collected for the organization to generate actionable tasks and insights for the first entity. The actionable tasks may include, for example, tasks that are dependent on tasks associated with the second entity. In this example, tasks generated for the first entity are prioritized and surfaced to the user based on their dependencies on tasks associated with the second entity. The tasks, when they are surfaced to the user, are generated based on data for which the first entity has permission to access. Therefore, the tasks surfaced to the user are prioritized to provide an efficient workflow, and the tasks also do not include data to which the user does not have appropriate access. By maintaining user-specific views and permissions enforcement, the workflowmanagement system provides differentiated access to the data collected by the workflow management system while using the data to facilitate efficient workflows. In some examples, the workflow management system implements a permission framework at multiple levels of granularity, including entity-level access controls, document-level restrictions, and userspecific access to prevent access to sensitive communications and sensitive data.
[0047] FIG. 1 is a system diagram showing a high-level view of a workflow management system 100, according to some examples. The workflow management system 100 is a comprehensive data processing and task management system designed to streamline and automate various aspects of user workflows, including prioritized, actionable tasks and task-related insights. The workflow management system 100 comprises several interconnected components (e.g., crawler service 102, processor service 110, LLM augmenter / ranking service 112) that work together to collect, process, analyze, and contextualize data from multiple sources.
[0048] The workflow management system 100 includes a crawler service 102 that facilitates the collection and integration of data from various data sources. The crawler service 102 interfaces with data source APIs 106 to retrieve raw data 126 from various data sources such as email systems, CRM systems, calendar systems, and other communication systems. The crawler service 102 comprises multiple crawler instances 104 that operate to retrieve the raw data 126. The crawler instances 104 are configured and managed by data source configuration registries 108, which specify parameters and authentication requirements for accessing various data sources.
[0049] The crawler service 102 operates continuously, monitoring for new and updated information across the various data sources. In some examples, the crawler service 102 triggers data crawling operations based on specific events or at predefined time intervals. Triggering the crawler service 102 at appropriate times maintains an up-to-date representation of the information landscape on which the workflow management system 100 operates. The raw data 126 collected by the crawler service 102 is stored in datastores 142.
[0050] The workflow management system 100 includes a processor service 110 that processes and structures the raw data 126 collected by the crawler service 102. The processor service 110 comprises a parser 114 and a data modeler 116 that transform the raw data 126, which is unstructured, into a standardized format suitable for modelling and analysis.
[0051] The parser 114 is responsible for breaking down the raw data 126 into its constituent elements, identifying key information such as entities, timestamps, and content types. In some examples, the parser 114 utilizes custom parsers and extractors to map the raw data 126 into structured data. For example, the parser 114 identifies and extracts entities from the raw data 126, including names, email addresses, telephone numbers, employee IDs, and other identifiers. The parser 114 employs a “fuzzy” match to handle variations in how the entities are represented across various data sources.By identifying and extracting the entities from the raw data 126, insights and context produced from analysis of the raw data 126 is assigned to the entities as owners (e.g., entities responsible for the insights and the context), mentions (e.g., entities for whom the insights and the context arc intended), task assignors, and task assignees. The parser 114 is responsible for handling data inconsistencies and errors that may occur during processing of the raw data 126 and incorporates various data checks and failure handling mechanisms for this responsibility.
[0052] The data modeler 116 takes parsed data from the parser 114 and applies predefined schemas and rules to create a structured representation of the parsed data. For example, the data modeler 116 maps the parsed data to standardized fields and relationships, which facilitates querying and analysis of the data. The data modeler 116 normalizes the data, for example, by standardizing date formats, units of measurement, and entity names to uniform formats. The data modeler 116 maps the data in a structured representation that indicates the interconnections and relationships between the entities responsible for deriving insights and context from the data (e.g., owners) and the entities for whom these insights and contexts are intended(e.g., mentions). The data modeler 116 is responsible for validating the data to ensure that the data is properly mapped to the predefined schemas.
[0053] The processor service 110 includes a data model repository 118 that stores defined data models and predefined schemas used in creating the structured representations of the data. The processor service 110 includes a metadata attachment module 120 that enriches the data with additional contextual information. For example, the metadata attachment module 120 adds timestamps, source identifiers, and other details to identify origins and relationships associated with the data.
[0054] The processor service 110 outputs modeled data 128, which serves as a basis for further processing, such as entity extraction, signal detection, and task prioritization.
[0055] The workflow management system 100 includes an LLM augmcntcr / (rc-)ranking service 112 that leverages machine learning techniques to extract insights from the modeled data 128 and generate contextualized data 130, including prioritized and actionable tasks and related insights. The LLM augmenter / (re-)ranking service 112 comprises a context constructor 132, an entity extractor 122, a signal extractor 124, an augmentation module 134, and a ranker 136.
[0056] The context constructor 132 builds contextual information for the data being processed. The context constructor 132 aggregates and analyzes data from various sources to create a comprehensive contextual framework in which the data can be pieced together. For example, the context constructor 132 identifies and establishes relationships between conversations, entities, and interactions, building a framework for how data provided by one entity affects tasks to be performed by another entity. The context constructor 132 retrieves data, including conversations, notes, and documents, and synthesizes the data based on factors such as recency, shared entities, and topical relevance. The contextual information generated by the context constructor 132 allows the modeled data 128 to be attached appropriately to tasks and insights.
[0057] The entity extractor 122 identifies and extracts entities from the modeled data 128, such as names, email addresses, and other identifiers, to map entities across various data sources. The entity extractor 122 utilizes exact matching and fuzzy matching to assign data from various data sources to their corresponding entities. In some examples, the entity extractor 122 utilizes context-based identification using, for example, an LLM API 138 to assign data to an entity based on the surrounding context of the data. In some examples, the entity extractor 122 integrates with a large language model, for example, via the LLM API 138 to determine data ownership. The entities identified and extracted from the data facilitate mapping the data to a relational framework in which actionable tasks and insights are derived.
[0058] The signal extractor 124 is responsible for identifying indicators or signals within the modeled data 128, which can be used to inform task prioritization and insights generation. In some examples, the signal extractor 124 integrates with a large language model, for example, via the LLM API 138 to identify indicators or signals within the modeled data 128. For example, using a large language model, the signal extractor 124 performs context-based analysis to examine the context of a potential signal within the modeled data 128 to determine the relevance and significance of the potential signal relative to an actionable task. The signal extractor 124 uses a large language model to identify signals and classify the signals as relevant or irrelevant to an actionable task. The signal extractor 124 uses a large language model to identify temporal signals that are indicative of a sequence in which actionable tasks are to be performed or that are indicative of an urgency related to an actionable task. The signal extractor 124 uses natural language processing techniques to determine tone and sentiment from the modeled data 128 and uses the tone and sentiment to prioritize actionable tasks and generate insights related to the actionable tasks. The various indicators or signals identified by the signal extractor 124 facilitate the generation of actionable tasks, prioritizing the actionable tasks, and generating insights associated with the actionable tasks.
[0059] The augmentation module 134 enriches the modeled data 128 with additional contextual information leveraged from external sources, such as the CRM system 140, to integrate relevant customer data into the workflow management process. For example, the augmentation module 134 queries the CRM system 140 to fetch customer information, including account status, interaction history, deal progression, deal size, revenue, and other information. The augmentation module 134 uses the customer information to attach additional contextual information, such as customer importance, probability of closing, and other information for prioritization of actionable tasks. The augmentation module 134 maintains an up-to-date connection with the CRM system 140 to incorporate current customer status and deal progression information in the workflow management process.
[0060] In some examples, the workflow management system includes a CRM tracker component that maintains customer relationship management capabilities. The CRM tracker stores relevant documents and status updates related to specific customers and manages permissions associated with customer interactions, such as those obtained through the CRM system 140. The CRM tracker operates to tag relevant documents and conversations where customers are referenced, creating a centralized repository of customer-related information that bypasses the need for a full retrieval framework. This tracker facilitates the automatic population of customer information into actionable tasks and enables the workflow management system to generate status updates and append relevant communications to customer records. The CRM tracker integrates with external CRM systems, such as the CRM system 140, to extract and synchronize customer information, account status, interaction history, deal progression, and other business relationship data.
[0061] The ranker 136 prioritizes and ranks / re-ranks actionable tasks based on various factors, including urgency, customer importance, revenue impact, scheduling orders, organizational priorities, and the like. For example, based on contextual information associated with an actionable task, an expected revenue impact is calculated from a probability of deal closing andan estimated deal value for a deal associated with the actionable task. The ranker 136 prioritizes and ranks the actionable task based on the expected revenue impact. For example, based on contextual information associated with an actionable task, customer importance is determined from customer feedback. The ranker 136 prioritizes and ranks the actionable task based on the customer importance. For example, based on contextual information associated with an actionable task, an urgency is determined from timesensitive signals related to the actionable task. The ranker 136 prioritizes and ranks the actionable task based on the urgency. For example, based on contextual information associated with an actionable task, an organizational priority is determined from entity relationships and task dependencies associated with the actionable task. The ranker 136 prioritizes and ranks the actionable task based on the organizational priority. In some examples, user-specific context, including a user’s role, responsibilities, and historical performance data, serves as a basis for prioritizing and ranking an actionable task for the user. By ranking and dynamically re-ranking actionable tasks, the actionable tasks with the highest priorities are surfaced to users, facilitating efficient workflows.
[0062] In some examples, the ranker 136 utilizes machine learning models trained on historical data and user feedback to determine prioritizations and rankings for actionable tasks. The ranker 136 continuously refines the machine learning models based on user feedback and performance data with respect to performance and completion of actionable tasks. By continuously refining and adapting the machine learning models, the ranker 136 learns more efficient prioritizations and rankings for actionable tasks to improve efficiency in workflows.
[0063] As illustrated in FIG. 1, the LLM augmenter / (re-)ranking service 112 utilizes large language models to process and analyze modeled data 128. In some examples, the LLM augmenter / (re-)ranking service 112 employs customized LLM prompts based on specific user contexts and predefined examples, guiding the models to generate actionable tasks and insights from the modeled data 128.
[0064] The LLM augmenter / (re-)ranking service 112 outputs contextualized data 130, which includes actionable tasks and insights enriched with context extracted from the modeled data 128 and the CRM system 140 and prioritized for importance. The contextualized data 130 incorporates entities and signals extracted from the modeled data 128, which has been further processed to include contextual information. The contextual information includes, for example, related conversations, customer information, notes, documents, and other details.
[0065] The contextualized data 130, along with the modeled data 128 and the raw data 126, are stored in one or more datastores 142. The datastores 142 serve as a central repository for storing and managing data used by the workflow management system 100. The datastores 142 facilitate data access for end-user applications 146 through application APIs 144. This architecture allows for prioritized, actionable tasks and related insights to be surfaced to end users through a variety of application surfaces. The workflow management system 100 is designed to be flexible and scalable, allowing for the integration of various data sources and the customization of processing steps based on specific business needs. It can be adapted to different roles within an organization, such as account executives, sales managers, or customer support representatives.
[0066] In some examples, the workflow management system implements a task and thought management (TTM) system that extracts both actionable tasks and analytical thoughts from processed communications. The TTM system operates using predefined examples and in-context learning techniques to generate tasks and thoughts, where the provided examples bias the types of outputs generated by the machine learning models. Generated tasks contain entity information including participants and customers, and reference the specific documents that triggered each task creation. The TTM system tags tasks with comprehensive information regarding the conversation that spawned the task, including source type, subject matter, date, and sender information for external reference. Extracted thoughts include contextual insights such as conversation tone, customer feedbackanalysis, and strategic recommendations derived from communication patterns.
[0067] The workflow management system incorporates a feedback-based learning mechanism that continuously improves task and insight generation based on user interactions. The workflow management system implements a logging framework that captures user responses to generated tasks and insights, including relevance assessments, importance ratings, and correctness evaluations. User feedback is utilized to refine machine learning models through multiple approaches, including incorporating positive examples as relevant cases in LLM prompts and fine-tuning models based on validated outcomes. For each document processed, the system retrieves similar documents based on similarity criteria and references previous examples of tasks and thoughts that users deemed useful, creating an adaptive learning loop that enhances accuracy over time.
[0068] The workflow management system operates using a skills-based architecture where different capabilities are modularly enabled based on user needs and permissions. Each skill requires specific core capabilities, while also offering optional enhancements that users can choose to activate. For example, a TTM skill provides basic user notification systems and optionally integrates with calendar systems for deadline management and task scheduling. When users enable specific skills, the system verifies required capabilities and prompts users to configure optional features, ensuring appropriate functionality while maintaining system security and user control.
[0069] The workflow management system provides comprehensive accessibility across multiple platforms and form factors to accommodate diverse user preferences and work environments. The workflow management system is accessible through mobile applications, desktop applications, and web browsers, ensuring users can interact with the workflow management system regardless of their preferred platform. The workflow management system integrates with common SaaS tools in enterprise workflows, including email systems and communication platforms, and includes capabilities to listen to live discussions, join videoconferences, and monitor phone calls. This multi-modal approach ensures that the workflow management system can capture and process information from various communication channels while providing a consistent user experience across different access methods.
[0070] FIG. 2 is a diagrammatic representation of a networked computing environment 200 in which some examples of the present disclosure may be implemented or deployed. The following describes an example implementation of this environment using specific components.
[0071] One or more application servers 202 (e.g., cloud servers, onpremises servers) provide server-side functionality via a network 204 to a networked user device, in the example form of a user device 206 that is accessed by a user 208. A web client 210 (e.g., a browser) and a programmatic client 212 (e.g., an “app”) are hosted and executed on the user device 206.
[0072] An Application Programming Interface (API) server 214 (e.g., REST API server) and a web server 216 provide respective programmatic and web interfaces to application servers 202. A specific application server 218 hosts a workflow management system 100, which includes components, modules, and / or applications.
[0073] The web client 210 communicates with the workflow management system 100 via the web interface supported by the web server216. Similarly, the programmatic client 212 communicates with the workflow management system 100 via the programmatic interface provided by the Application Programming Interface (API) server 214. The LLM 220 may, for example, include components, modules, and applications (e.g., leveraging AI / ML, implemented as a monolithic architecture or as microservices).
[0074] An example application server 218 of the application servers 202 is communicatively coupled to database servers 222 (e.g., cloud databases), facilitating access to an information storage repository or databases 224 (e.g., NoSQL, relational databases). In some examples, the databases 224includes storage devices that store information to be published and / or processed by the workflow management system 100.
[0075] Additionally, an LLM 220 executing on a third-party server 226 has programmatic access to the application server 218 via the programmatic interface provided by the Application Programming Interface (API) server 214. For example, the LLM 220, using information retrieved from the application server 218, may support one or more features or functions on a website hosted by a third party.
[0076] FIG. 3 is a system diagram illustrating an example system 302 expanding on the workflow management system 100 of FIG. 1. As illustrated in FIG. 3, the system 302 includes a crawler service 102 that uses crawler instances 104 to retrieve raw data 126 from external data sources 304. The external data sources 304 include data source APIs 306, which include APIs for emails, conversations, CRM systems, and calendar systems. To retrieve the raw data 126 from the external data sources 304, the crawler instances 104 use data source configuration registries 308 for appropriate parameters and authentication requirements to access the external data sources 304.
[0077] The system 302 includes a processor service 110 with one or more hardware processors 312 to implement the functions of the processor service 110. For example, data modelers 116 use the one or more hardware processors 312 to locally parse and map data into a structured representation. A metadata attachment module 120 uses the one or more hardware processors 312 to locally attach contextual information to the structured data. The local functions performed by the processor service 110 produce modeled data 128.
[0078] The system 302 includes an augmenter and ranking service 112 with a foundational LLM 310 to facilitate the functions of the augmenter and ranking service 112. For example, the entity extractor 122 utilizes the foundational LLM 310 to identify entities from the modeled data 128 and assign data to the identified entities. The signal extractor 124 utilizes the foundational LLM 310 to identify signals from the modeled data 128 andclassify the identified signals as relevant or irrelevant in the context of an actionable task.
[0079] The foundational LLM 310 provides natural language processing capabilities and facilitates functions of the example system 302, including context construction, entity extraction, signal extraction, sentiment analysis, and task prioritization. The foundational LLM 310 processes and analyzes large volumes of textual data from diverse sources, including emails, messages, video call transcripts, and CRM systems. In some examples, the foundational LLM processes and analyzes textual data in response to customized prompts tailored to specific user contexts and predefined examples. These customized prompts are tailored based on the unique requirements of different roles and industries associated with a workflow.
[0080] The foundational LLM 310 continuously improves through iterative learning processes. User feedback and data patterns are provided to the foundational LLM to identify instances where task prioritizations and generated insights improved efficiency in a workflow and instances where task prioritizations and generated insights were less effective in improving efficiency in the workflow. By adapting in response to user feedback and data patterns, the foundational LLM 310 becomes highly customized to the workflows of different roles and industries over time.
[0081] FIG. 4 is a flowchart illustrating a data processing workflow 400 for a workflow management system to generate tasks and insights from unstructured data sources, according to some examples. Although the example workflow depicts a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosures. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the function of the method. In some examples, different components of an example device or system that implements the method may perform functions at substantially the same time or in a specific sequence.
[0082] At operation 402, the workflow management system initiates the data processing workflow 400 by collecting data through a group datacollection process. In operation 402, the group data collection process includes an operation 404 for data collection via external APIs. The data collection via external APIs may be performed by a crawler service that interfaces with various data source APIs to fetch raw data from configured external systems such as email servers, CRM platforms, and other applications. At operation 406, the group data collection process results in fetched raw data. This operation may involve temporary storage or buffering of the data before passing it to subsequent stages of the workflow.
[0083] At operation 408, the workflow management system performs group data processing on the fetched raw data. The group data processing includes an operation 410 for parsing and modeling data. A parser breaks down the raw, unstructured data into meaningful segments. A data modeler structures this parsed data into a standardized format suitable for further analysis. At operation 412, the parsing and modeling result in structured data. The structured data may include categorized information and relationships between data.
[0084] At operation 414, the workflow management system attaches metadata to the structured data. Attaching metadata involves adding additional contextual information to the structured data. The metadata may include source information, timestamps, or other relevant attributes that enhance the understanding and usability of the data. At operation 416, the structured data and the additional metadata are attached, resulting in structured data with attached supplementary information that can be leveraged in subsequent analysis stages.
[0085] At operation 418, the structured data, along with the attached metadata, is stored in a centralized data repository. At operation 420, the structured and metadata-enhanced data is saved and readily accessible for further processing and analysis.
[0086] At operation 422, the workflow management system performs group data analysis on the structured and metadata-enhanced data in the centralized data repository. In operation 422, the group data analysis includes an operation 424 for entity and signal extraction. The workflow managementsystem analyzes the stored data to identify and extract entities and signals. This operation may utilize natural language processing techniques and machine learning algorithms to recognize entities and signals within the data. At operation 426, key entities and signals are identified from the extracted entities and signals. Key entities include, for example, people for whom actionable tasks are generated. Key entities include, for example, trends, patterns, and anomalies that provide context for the actionable tasks.
[0087] At operation 428, the workflow management system builds a contextual framework around the extracted entities and signals. This operation aims to establish relationships and provide a comprehensive understanding of the extracted entities and signals. At operation 430, the workflow management system builds context by synthesizing extracted entities and signals to create the context, which may involve mapping relationships between entities, identifying temporal sequences, and establishing causal links.
[0088] At operation 432, the workflow management system applies data augmentation and re-ranking to the contextualized data, including actionable tasks and insights. This operation may involve integrating additional information from external sources or applying ranking algorithms to determine the relative importance of different data points. At operation 434, the contextualized data is enhanced with additional information and prioritized according to their rankings with respect to relevance and importance.
[0089] At operation 436, the workflow management system provides a group output. The group output includes, at operation 438, output generation of tasks and insights. Here, the workflow management system produces actionable tasks and insights derived from the processed, contextualized, and prioritized data. This output is designed to provide users with clear, actionable items and insightful information to support informed decision-making and effective task management.
[0090] This workflow demonstrates a comprehensive approach to processing unstructured data, extracting meaningful information, andgenerating valuable outputs for users. The sequence of operations allows for the transformation of raw data into contextualized, actionable insights.
[0091] FIG. 5 is a flowchart illustrating a task generation workflow 500 for a workflow management system to generate actionable tasks, according to some examples. Although the example workflow depicts a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosures. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the function of the method. In some examples, different components of an example device or system that implements the method may perform functions at substantially the same time or in a specific sequence.
[0092] The task generation workflow 500 is initiated by operations 502, 504, and 506, which collect data from document uploads, emails, and meeting information. Various other data from external sources may be collected. The collected data provides the basis for which actionable tasks are generated.
[0093] At operation 508, the collected data is parsed to extract information and apply a structure for further processing. This operation may involve analyzing the content of the documents, emails, and meeting information to identify potential task-related information.
[0094] At operation 510, entity extraction is performed on the parsed data. This operation may include identifying and categorizing entities within the parsed data. For example, this operation may involve recognizing names, email addresses, companies, and other identifiers. The entities are matched using exact matching, fuzzy matching, and context-based identification to provide comprehensive entity recognition across data sources.
[0095] At operation 512, actionable items are identified. The workflow management system evaluates the data to identify any actionable items from which an actionable task can be generated and assigned to an entity. In some examples, the workflow management system may determine that no actionable items or no new actionable items have been surfaced from thedata, and the task generation workflow 500 returns to operations 502, 504, 506 to collect further data. In some examples, the workflow management system identifies an actionable item from which to generate and assign an actionable task.
[0096] At operation 514, task creation is performed to generate an actionable task from an actionable item. The workflow management system generates a task to be performed by an entity, such as a user, and attaches appropriate insights and context to the task. For example, the task may include details related to deadlines, priorities, notes, and comments extracted from the collected data.
[0097] At operation 516, task assignment is performed to assign the actionable task to an entity. This operation may be based on relationships identified within the collected data, as well as any organizational information available to the workflow management system.
[0098] At operation 518, a notification is generated for the entity, containing information related to the assignment of the actionable task to the entity. The notification can include the actionable task to be performed, as well as any relevant insights and context attached to the task.
[0099] FIG. 6 is a flowchart illustrating an insight generation workflow 600 for a workflow management system to generate insights for actionable tasks, according to some examples. Although the example workflow depicts a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosures. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the function of the method. In some examples, different components of an example device or system that implements the method may perform functions at substantially the same time or in a specific sequence.
[0100] At operation 602, the workflow management system performs a data collection process. As part of the data collection process, at operation 604, the workflow management system collects data from various data sources, including emails, calendar events, CRM systems, and other communicationplatforms. Other data sources and other data collection processes may be involved in these operations to facilitate a comprehensive dataset for analysis.
[0101] At operation 606, the workflow management system performs a data analysis process. As part of the data analysis process, at operation 608, the workflow management system extracts patterns, trends, topics, issues, and other information from the collected data. Insights are generated based on the extracted information. These operations may involve natural language processing and other operations to extract information.
[0102] At operation 610, the workflow management system determines if data is sufficient to formulate insights. For example, the workflow management system determines if the data includes any actionable items or new information upon which to generate an insight. In some examples, the workflow management system determines that the data is insufficient to formulate insights and, at operation 612, requests more data. The workflow management system, at operation 602, performs a data collection process to obtain more data.
[0103] If the workflow management system determines that the data is sufficient to formulate insights, then at operation 614, the workflow management system performs an insight formulation process. As part of the insight formulation process, at operation 616, the workflow management system formulates insights based on the collected data. In some examples, the workflow management system employs a large language model to extract contextual information related to actionable tasks from the collected data. The contextual information includes, for example, conversational notes, meeting notes, related messages, related feedback, and insights generated by the large language model based on these notes and messages. This contextual information is attached to the appropriate actionable task as insights for the actionable task.
[0104] At operation 618, the workflow management system performs a review insights process that involves automated checks and, in some examples, human intervention, to ensure accuracy and relevance of theformulated insights. For example, the insights are reviewed for relevance to a user role, alignment with organizational goals, and relevance to the actionable task.
[0105] At operation 620, the workflow management system determines if the insights are valid. For example, if the insights are determined to be invalid from the review insights process at operation 618, the workflow management system performs a refine insights process at operation 622. The refine insights process involves, for example, iterating through the insight formulation process at operation 614 to re-formulate insights and re-review the insights with the additional context that the formulated insights were determined to be invalid.
[0106] If the workflow management system determines the insights are valid, then at operation 624, the workflow management system performs an insight delivery process. As part of the insight delivery process, at operation 626, the workflow management system delivers insights to a user for an actionable task. The insights are delivered, for example, through a user interface integration, a prioritized task list, a meeting preparation summary, a real-time notification, a customized dashboard, an automated CRM system update, an email summary, a mobile app alert, through a voice assistant integration, or through an application API.
[0107] The insight generation process is designed to be iterative and selfimproving. It continuously refines its algorithms based on user feedback and new data inputs, ensuring that the insights become increasingly accurate and valuable over time. This automated insight generation process enhances workflows by providing users with timely, data-driven insights that may not be immediately apparent through manual analysis.
[0108] FIG. 7 is a timing diagram illustrating a dataflow 700 between components of a workflow management system to generate actionable tasks and insights for actionable tasks, according to some examples. Although the example dataflow depicts a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosures. For example, some of the operations depicted may be performed in parallelor in a different sequence that does not materially affect the function of the method. In some examples, different components of an example device or system that implements the method may perform functions at substantially the same time or in a specific sequence.
[0109] As illustrated in FIG. 7, a user 702 sends raw data to a workflow management system 704. The raw data includes, for example, emails, calendar events, CRM data, and other content from various data sources associated with the user 702.
[0110] Upon receiving the raw data, the workflow management system 704 initiates an entity extraction process by sending the raw data to an entity extractor 706. The entity extractor 706 identifies and categorizes entities within the data, such as names, email addresses, companies, and other identifiers. The extracted entities are returned to the workflow management system 704.
[0111] Additionally, the workflow management system 704 initiates a signal extraction process by sending the raw data to a signal extractor 708. The signal extractor 708 identifies signals indicative of tasks, priorities, and other contextual information. The extracted signals are returned to the workflow management system 704.
[0112] The workflow management system 704 aggregates the extracted entities and the extracted signals and sends the extracted entities and the extracted signals to a LLM API 710 to process and analyze the data. The LLM API 710 generates contextualized data based on the extracted entities and the extracted signals. The contextualized data includes, for example, actionable tasks and insights associated with the actionable tasks. The contextualized data and insights arc returned to the workflow management system 704.
[0113] The workflow management system initiates an augmentation process by sending the contextualized data and insights to an augmentation service 712. The augmentation service 712 supplements the contextualized data and insights with additional context from external sources, such asCRM systems, to provide a more comprehensive view. The augmented data is returned to the workflow management system 704.
[0114] The workflow management system 704 performs a ranking or reranking process based on the responses received from the entity extractor 706, the signal extractor 708, the LLM API 710, and the augmentation service 712. The workflow management system 704 uses the responses from these services to rank or re-rank actionable tasks based on task urgency, customer importance, potential revenue impact, and other factors. The workflow management system 704 provides the processed data to a user application 714, where the actionable tasks and the associated insights are surfaced for the user 702.
[0115] FIG. 8 illustrates an example interface 800 of a user application of a workflow management system, according to some examples. The example interface 800 is supported by functions performed by, for example, the workflow management systems of FIG. 1, FIG. 2, or FIG. 3. While the example interface 800 displays elements in a particular arrangement, the elements may be rearranged or altered without departing from the scope of the present disclosures.
[0116] The example interface 800 includes several elements designed to enhance user productivity and workflow management. A search bar 802 is positioned at the top of the example interface 800, allowing users to input queries or commands to interact with the workflow management system. Below the search bar, a scries of tabs 804 is displayed, including "Today," "All tasks," "Customers," and "Quota." These tabs enable users to navigate between different views of their tasks and responsibilities, providing a comprehensive overview of their actionable tasks and associated insights.
[0117] The content area of the interface is divided into two task sections. A first task section 806 includes tasks “Due today.” A second task section 808 includes tasks associated with “Today’s meetings.” First task section 806 presents a list of actionable tasks with deadlines falling on the current day. Each actionable task is associated with a selectable element, with a circular checkbox indicating completion status. The actionable tasks rangefrom confirming calls, preparing for meetings, responding to emails, finalizing documents, and generating leads, which is indicative of the various data sources the workflow management system draws from to generate actionable tasks. The presence of a "NEW" indicator 810 adjacent to one of the tasks is indicative of the workflow management system's capability to dynamically update the task list in real-time as new priorities emerge. The presence of a strikeout indicator 812, striking out one of the tasks, is indicative of the workflow management system’s capability to dynamically determine that a task has been completed.
[0118] The second task section 808 provides a chronological list of scheduled meetings for the day. Each meeting entry includes contextual information, such as the time, title, and a brief description or context for the meeting. This information demonstrates the workflow management system’s capabilities to generate insights from multiple data sources and aggregate them together to provide a comprehensive view of a user’s workflow.
[0119] FIG. 9 illustrates an example interface 900 of a user application of a workflow management system, according to some examples. The example interface 900 is supported by functions performed by, for example, the workflow management systems of FIG. 1, FIG. 2, or FIG. 3. While the example interface 900 displays elements in a particular arrangement, the elements may be rearranged or altered without departing from the scope of the present disclosures.
[0120] Below a search bar positioned at the top of the example interface 900, the example interface 900 displays a task section 902 that includes a header "8AM Tasks", indicating that the actionable tasks displayed are prioritized for the morning of the current day. The task section 902 of the example interface 900 displays a bulleted task list, enumerating four actionable tasks for the day:1. Preparation for security review meeting with G on Tuesday.2. Response to email from leff at D is due.3. Chris at outreach was promised product roadmap document by end of day during last call.4. Generate 5 new leads.
[0121] These actionable tasks represent a diverse range of actionable tasks, including meeting preparation, email correspondence, document delivery, and lead generation, prioritized in order of task urgency and importance. For example, the ranking of the security review meeting over the email response may be based on the importance assigned to the security review relative to the urgency of the email response for the current day. In some examples, the tasks are re-ranked throughout the course of the current day based on updates to the context of the tasks or completion of other tasks. For example, if the number of tasks dependent on producing a product roadmap document increases, the prioritization of this task may increase, causing this task to be re-ranked higher than, for example, the email response.
[0122] FIG. 10A illustrates an example interface 1000 of a user application of a workflow management system, according to some examples. The example interface 1000 is supported by functions performed by, for example, the workflow management systems of FIG. 1, FIG. 2, or FIG. 3. While the example interface 1000 displays elements in a particular arrangement, the elements may be rearranged or altered without departing from the scope of the present disclosures.
[0123] Below a search bar positioned at the top of the example interface 1000, the example interface 1000 displays a task section 1002 including a header “11AM Tasks”, indicating that the actionable tasks displayed are prioritized for the morning of the current day and updated during the course of the morning. The task section 1002 of the example interface 1000 displays a bulleted task list, enumerating five actionable tasks for the day:1. [NEW] Noe from T is requesting call in the next couple of hours.2. Preparation for security review meeting with G on Tuesday.3. Response to email from leff at D is due. (This task is struck through, indicating completion)4. Chris at outreach was promised product roadmap document by end of day during last call. (This task is struck through, indicating completion)5. Generate 5 new leads.
[0124] The presence of a "[NEW]" indicator 1004 adjacent to the first task demonstrates the workflow management system's capability to dynamically update the task list in real-time as new priorities emerge. The struck-through tasks 1006 indicate completed actionable tasks, demonstrating the workflow management system's ability to track task completion and automatically update the task list accordingly.
[0125] The actionable tasks are prioritized in order of task urgency and importance. For example, the ranking of the new actionable task over the other actionable tasks may be based on a task urgency determined for the new actionable task relative to the task urgencies of the other actionable tasks.
[0126] FIG. 10B illustrates an example interface 1050 of a user application of a workflow management system, according to some examples. The example interface 1050 is supported by functions performed by, for example, the workflow management systems of FIG. 1, FIG. 2, or FIG. 3. While the example interface 1050 displays elements in a particular arrangement, the elements may be rearranged or altered without departing from the scope of the present disclosures.
[0127] The example interface 1050 displays a task section 1052 including a header “11AM Tasks”, indicating that the actionable tasks displayed are prioritized for the morning of the current day and updated during the course of the morning. The task section 1052 of the example interface 1050 displays a bulleted task list, enumerating five actionable tasks for the day:1. [NEW] Noe from T is requesting call in the next couple of hours.2. Preparation for security review meeting with G on Tuesday.3. Response to email from leff at D is due. (This task is struck through, indicating completion)4. Chris at outreach was promised product roadmap document by end of day during last call. (This task is struck through, indicating completion)5. [UPDATE] Generate 5 new leads.
[0128] The presence of a "[NEW]" indicator 1054 adjacent to the first task demonstrates the workflow management system's capability to dynamicallyupdate the task list in real-time as new priorities emerge. The struck-through tasks 1056 indicate completed actionable tasks, demonstrating the workflow management system's ability to track task completion and automatically update the task list accordingly. For example, the workflow management system may receive updated information indicating that these tasks arc completed and update the task section 1052 accordingly. The presence of an “[UPDATE]” indicator 1058 adjacent to the fifth task demonstrates the workflow management system’s capability to update details related to tasks in the task list in real-time as the tasks are performed. For example, the workflow management system may receive updated information indicating that a detail of a task (e.g., number of leads to generate) has changed or that a task has been partially completed. The workflow management system may update the task section 1052 based on the update and apply the “[UPDATE]” indicator 1058 to indicate the presence of the update.
[0129] The actionable tasks are prioritized in order of task urgency and importance. For example, the ranking of the new actionable task over the other actionable tasks may be based on a task urgency determined for the new actionable task relative to the task urgencies of the other actionable tasks.
[0130] FIG. 11 A illustrates an example interface 1100 of a user application of a workflow management system, according to some examples. The example interface 1100 is supported by functions performed by, for example, the workflow management systems of FIG. 1, FIG. 2, or FIG. 3. While the example interface 1100 displays elements in a particular arrangement, the elements may be rearranged or altered without departing from the scope of the present disclosures.
[0131] Below a search bar positioned at the top of the example interface 1100, the example interface 1100 displays a header “Notes”, indicating that a note-taking function is currently active. The content area of the example interface 1100 displays a conversation-style interaction between a user (“.Tohn”) and an Al assistant (“Aida”), demonstrating the workflowmanagement system's natural language processing capabilities. The interaction flow is as follows:1. John initiates the interaction by requesting: "Aida, add a note for meeting with D CIO".2. Aida responds with a clarifying question: "What is the note?"3. John provides the content: "They are very worried about our usage of APIs."4. Aida confirms the action: "Adding note for your meeting with D CIO."
[0132] This interaction demonstrates the workflow management system’s capabilities to receive information from users, identify an entity (e.g., D) related to the information, identify an actionable task (e.g., meeting with D), and attach the information as contextual information for the actionable task.
[0133] FIG. 11B illustrates an example interface 1150 of a user application of a workflow management system, according to some examples. The example interface 1150 is supported by functions performed by, for example, the workflow management systems of FIG. 1, FIG. 2, or FIG. 3. While the example interface 1150 displays elements in a particular arrangement, the elements may be rearranged or altered without departing from the scope of the present disclosures.
[0134] Below a search bar positioned at the top of the example interface 1150, the example interface 1150 displays a header “Meeting Notes”, indicating that meeting notes arc provided through the content area of the example interface 1150. The content area is divided into sections, each providing contextual information related to an actionable task (e.g., upcoming meeting):1. Reminders2. Notes3. Customer Summaries4. Past Conversations
[0135] As illustrated here, the contextual information includes reminders as to entities (e.g., D CIO) associated with the actionable task, notes fromentities related to the actionable task, customer summaries related to the actionable task, and past conversations discussing the actionable task. This demonstrates the workflow management system’s capabilities for identifying contextual information for an actionable task from different data sources and aggregate the contextual information together to present a comprehensive view related to the actionable task.
[0136] FIG. 12 illustrates an example method 1200 for providing access to data collected through a crawler service, according to some examples. One or more of the operations described in the example method 1200 may be implemented by, for example, the workflow management system of FIG. 1, FIG. 2, or FIG. 3 or a similar workflow management system. Although the flowchart depicts a particular sequence of operations, the sequence may be altered without departing from the scope of the subject matter disclosed herein. For example, some of the operations depicted may be performed in parallel or in a different sequence without materially affecting the functions described in the example method 1200.
[0137] At operation 1202, the workflow management system instantiates a plurality of crawler instances to collect data from a plurality of data sources. For example, the workflow management system may instantiate a crawler instance for each data source to collect data from the data source using parameters specific to the data source.
[0138] At operation 1204, the workflow management system collects a first set of data from the plurality of data sources using the plurality of crawler instances. For example, the crawler instances may poll the data sources for update data or complete data images to extract data from the data sources.
[0139] At operation 1206, the workflow management system standardizes the first set of data using a data modeler, wherein standardizing the first set of data comprises, at operation 1208, identifying a first category for a first data instance of the first set of data and, at operation 1210, standardizing the first data instance based on a data structure for the first data category. For example, the workflow management system may apply a common data structure for all data that are identified as the first data category,standardizing the data to follow common formats, such as common date formats, common measurement formats, and common naming formats.
[0140] At operation 1212, the workflow management system attaches metadata to the first set of data. The metadata may include, for example, contextual information that identifies origins and relationships associated with the data.
[0141] At operation 1214, the workflow management system stores the first set of data in a datastore. The datastore may be, for example, a centralized database that external applications may access for contextualized workflow information.
[0142] At operation 1216, the workflow management system provides access to the first set of data. For example, an application associated with one of the data sources may access the data through an API to update its own information or surface notifications to a user.
[0143] FIG. 13 illustrates a machine learning system 1300, according to some examples. The machine learning system 1300 may be used to implement aspects of the present disclosure. The machine learning system 1300 is shown to include a data input engine 1302, a featurization engine 1304, a model generation engine 1306, an output generation engine 1308, and a validation, feedback, and refinement engine 1310.
[0144] The data input engine 1302 may be configured to access, interpret, request, format, re-format, or receive input data from data sources 1312.Data sources 1312 may include training data (e.g., data for training machine learning models), validation data (e.g., data for comparing model output with known results to evaluate performance), or reference data (e.g., data used to establish baselines or inform model creation). The data input engine 1302 can interact with external data systems via input / output (I / O) devices, network interfaces, or storage elements to ensure input data is processed and stored in a suitable format for further operations.
[0145] The featurization engine 1304 may be configured to transform input data into features that that can be utilized by machine learning algorithms, which may include feature extraction, feature selection, normalization,encoding, and dimensionality reduction techniques. The featurization engine 1304 can handle feature extraction, scaling, or selection, helping the machine learning system 1300 to identify and process relevant data attributes for subsequent modeling. For example, features extracted from raw data may be annotated, labeled, or transformed into numerical representations suitable for machine learning algorithms 1314. The featurization engine 1304 can work iteratively with other components to refine features based on model requirements or outcomes.
[0146] The model generation engine 1306 is responsible for creating, training, and configuring one or more machine learning models based on input data and selected features. The model generation engine 1306 may include functionality for model selection, hyperparameter tuning, or algorithm implementation.
[0147] Machine learning broadly involves using computer algorithms to automatically learn patterns and / or relationships in data, often without the need for explicit programming. Thus, the machine learning algorithms 1314 may include various algorithms, including supervised, unsupervised, or reinforcement learning approaches, such as decision trees, neural networks, Support Vector Machines (SVMs), or deep learning architectures such as transformers or Convolutional Neural Networks (CNNs). The model generation engine 1306 may also support iterative model adjustment and validation cycles, which may allow for updates to the model based on new training data or changes in defined performance criteria as measured by, for example, metrics 1316.
[0148] In some examples, the output generation engine 1308 is responsible for model inference. The output generation engine 1308 processes data to produce predictions, classifications, or other results. The output generation engine 1308 can also apply post-processing techniques such as aggregation, thresholding, or confidence scoring to ensure outputs are in a format suitable for downstream systems or user interpretation.
[0149] The validation, feedback, and refinement engine 1310 may be configured to validate, monitor, or improve the performance and relevanceof machine learning models over time. The validation, feedback, and refinement engine 1310 may apply validation data to compare model outputs against validation data, and may incorporate feedback from users or automated systems to potentially improve model performance based on specific metrics 1316. Metrics 1316 may be used to evaluate and compare model outputs against validation data or other useful data, providing insights into model performance, accuracy, reliability, or generalization. Refinement operations may involve retraining models with updated data or adjusting model parameters to account for changing conditions or newly observed patterns. Metrics 1316 may include performance evaluation measures such as accuracy, precision, recall, Fl -score, area under the ROC curve (AUG), mean squared error (MSE), or log loss, depending on the type of machine learning task being performed.
[0150] Components of the machine learning system 1300 may be implemented by hardware processors and may communicate via network interfaces or shared storage elements to facilitate data exchange and coordination. The architecture shown in FIG. 13 provides a framework that may be configured for deployment in different machine learning applications, such as certain natural language processing tasks, computer vision implementations, or predictive analytics scenarios, with appropriate modifications to each component based on the particular application requirements.
[0151] FIG. 14 is a flowchart depicting a machine learning pipeline 1400, according to some examples. The machine learning pipeline 1400, or parts thereof, may be used to generate a trained machine learning model for use in examples of the present disclosure.
[0152] The machine learning pipeline 1400 commences with a data collection and preprocessing stage 1402, in which data is acquired, cleaned, or formatted for compatibility with machine learning algorithms. The data collection and preprocessing stage 1402 may also involve addressing issues such as duplicate entries, missing values, or data inconsistencies.
[0153] During a feature engineering stage 1404, training data can be formatted, transformed, or selected as needed to create features that are useful for predicting target data. Feature engineering may include (1) receiving features (e.g., as structured or labeled data in supervised learning) and / or (2) identifying features (e.g., unstructured or unlabclcd data for unsupervised learning) in training data. In this context, a feature may be a variable or attribute, such as a measurable property of a process, article, system, or phenomenon represented by a data set. Features may also be of different types, such as numeric features, strings, and graphs, and may include one or more of content, concepts, attributes, historical data, or user data, merely for example. During feature engineering stage 1404, raw data may be transformed into representative features through techniques such as normalization, one-hot encoding, binning, embedding generation, or feature crossing, which can improve model performance and generalization capabilities.
[0154] A model selection and training stage 1406 can include selecting an appropriate machine learning algorithm or strategy and training the relevant model on training data. The model selection and training stage 1406 may involve splitting the data into training and testing sets, using cross-validation to evaluate the model, and tuning hyperparameters to improve performance. During training, the model may be trained to find features that affect a predicted outcome. The result of the training is a trained machine learning model.
[0155] During training, the model may learn to optimize parameters through techniques such as gradient descent, stochastic gradient descent (SGD), or adaptive optimization methods like Adam or RMSprop, which can help minimize the loss function and improve model convergence. In some examples, techniques such as model quantization, pruning, or knowledge distillation can reduce the computational complexity of a trained model. Quantization involves reducing the precision of weights and activations (e.g., from 32-bit floating-point to 8-bit integers), which may help with efficient deployment on hardware-constrained environments such as edgedevices. Pruning removes redundant or non-contributory connections within a model, thereby reducing memory and processing requirements.Knowledge distillation transfers the learned knowledge of a large, complex model into a smaller, lightweight model.
[0156] A model evaluation stage 1408 may include evaluating the performance of a trained model on a separate testing dataset. This can help determine if the model is overfitting or underfitting and determine whether the model is suitable for deployment. Regularization techniques, such as dropout or L2 regularization, may also be employed to help reduce overfitting and improve generalization.
[0157] FIG. 14 further shows an inference stage 1410, in which a trained model generates outputs on new, unseen data. For example, for each input, at operation 1416, the model receives input data (e.g., from external sources, such as real-time sensors, databases, or user-provided queries, or internal sources such as test inputs). At operation 1418, the trained model processes the input data. This can include various operations that are performed to arrive at output data, such as feature extraction, transformation, and embedding generation, depending on the model architecture. For example, a CNN may process input images by applying convolutional filters, while a transformer model might encode textual input using self-attention mechanisms. The trained model may perform inference, mapping inputs to outputs, such as predictions or classifications, thereby providing the output data at operation 1420.
[0158] It is noted that output data may take various forms. In classification Al examples, outputs may include data classifications or probabilities linked to particular classifications. In generative Al examples, outputs may include new content, such as translations, summaries, answers, new media content, or combinations thereof. In some examples, outputs are further processed into usable output, such as probabilities, labels, or continuous values tailored for downstream systems. Post-processing may include confidence scoring, aggregation, or error correction, to ensure outputs are accurate and actionable for the intended application.
[0159] The machine learning pipeline 1400 may also include a validation, refinement, or retraining stage 1412. This may include updating a model based on feedback generated from the inference stage 1410, such as new data or user feedback. In some examples, validation is performed using a separate dataset known as the validation dataset. The validation dataset can be used to tune or fine-tune the hyperparameters of a model, such as the learning rate and the regularization parameter. The hyperparameters may be adjusted to improve the model’s performance on the validation dataset.
[0160] During deployment stage 1414, the trained model is integrated into or connected with a more extensive or real-world system, application, or environment, such as a web service, mobile app, or Internet of Things (loT) device. This phase can involve setting up APIs, building a user interface, and ensuring that the model is scalable and can handle large volumes of data. In some examples, the trained model is deployed on a single device, such as locally on an end user’s computing device or on an edge device, as opposed to being deployed on a server system. This may provide lower latency or offline functionality in certain scenarios. Accordingly, various trained models can be deployed as server-based deployments or on-device deployments.
[0161] In some examples, a trained model includes one or more neural networks. The neural network may include a hierarchical (e.g., layered) organization of neurons or nodes, with each layer consisting of multiple neurons or nodes. Neurons in the input layer receive the input data, while neurons in the output layer produce the final output of the network. Between the input and output layers, there may be one or more hidden layers, each consisting of multiple neurons.
[0162] Each neuron may operationally compute a function, such as an activation function, which takes as input the weighted sum of the outputs of the neurons in the previous layer, as well as a bias term. The output of this function is then passed as input to the neurons in the next layer. If the output of the activation function exceeds a certain threshold, an output is communicated from that neuron (e.g., transmitting neuron) to a connectedneuron (e.g., receiving neuron) in successive layers. The connections between neurons have associated weights, which define the influence of the input from a transmitting neuron to a receiving neuron. During the training phase, these weights are adjusted by the learning algorithm to optimize the performance of the network. Different types of neural networks may use different activation functions and learning algorithms, affecting their performance on different tasks. The layered organization of neurons and the use of activation functions and weights help neural networks to model complex relationships between inputs and outputs, and to generalize to new inputs that were not seen during training.
[0163] A neural network can be applied in various scenarios. In some cases, the neural network is configured to perform an image or video processing task. For example, the task may be image classification. As another example, the task can be image embedding generation and the output generated by the neural network can be a numeric embedding of the input image. As yet another example, the task can be object detection and the output generated by the neural network can identify locations in the input image at which particular types of objects are depicted. As another example, if the input to the neural network is a sequence of text in one language, the output generated by the neural network may be a piece of text in the other language that is a predicted proper translation of the input text into the other language.
[0164] In some cases, a machine learning task is a multi-modal processing task that requires processing multi-modal data. In general, multi-modal data is a combination of two or more different types of data, e.g., two or more of audio data, image data, text data, or graph data. As one example, the multimodal data may comprise audio-visual data, comprising a combination of pixels of an image or of video and audio data representing values of a digitized audio waveform. As another example, the multi-modal data may comprise a combination of text data representing text in a natural language and pixels of an image.
[0165] In some examples, the neural network may also be one of several different types of neural networks, such as a single-layer feed-forward network, a Multilayer Perceptron (MLP), an Artificial Neural Network (ANN), a Recurrent Neural Network (RNN), a Long Short-Term Memory Network (LSTM), a Bidirectional Neural Network, a symmetrically connected neural network, a Deep Belief Network (DBN), a CNN, a Generative Adversarial Network (GAN), an Autoencoder Neural Network (AE), a Restricted Boltzmann Machine (RBM), a Hopfield Network, a SelfOrganizing Map (SOM), a Radial Basis Function Network (RBFN), a Spiking Neural Network (SNN), a Liquid State Machine (LSM), an Echo State Network (ESN), a Neural Turing Machine (NTM), or a Transformer Network, merely for example.
[0166] As mentioned, a generative Al model can generate new content. For example, generative Al can produce text, images, video, audio, code, or synthetic data. In some examples, the generated content may be similar to original data, but not identical.
[0167] Some of the techniques or architectures that may be used in generative Al are GANs, Variational autoencoders (VAEs), and transformers. GANs may include two neural networks: a generator and a discriminator. The generator network attempts to create realistic content that can “fool” the discriminator network, while the discriminator network attempts to distinguish between real and fake content. The generator and discriminator networks operate in an adversarial relationship where, through iterative training, the generator may produce increasingly realistic outputs while the discriminator may become more effective at distinguishing between real and generated content. VAEs may encode input data into a latent space (e.g., a compressed representation) and then decode it back into output data. The latent space can be manipulated to generate new variations of the output data. VAEs may use self-attention mechanisms to process input data, allowing them to handle long text sequences and capture complex dependencies. Transformer models may use attention mechanisms to learn the relationships between different parts of input data (such as words orpixels) and generate output data based on these relationships. In some examples, transformer models can handle sequential data, such as text or speech, as well as non- sequential data, such as images or code.
[0168] FIG. 15 is a system architecture diagram showing a layered view of an Al integrated system 1500, according to some examples. The Al integrated system 1500 comprises six example layers: a client layer 1502, an API gateway layer 1504, an application layer 1506, an Al service layer 1508, a data layer 1510, and a monitoring layer 1512.
[0169] The client layer 1502 provides multiple access points for system interaction. It includes API clients 1514, which may facilitate programmatic access to the capabilities of the Al integrated system 1500 or integration with third-party systems and services. Mobile applications 1516 facilitate access from mobile applications and devices, for example implementing native mobile protocols while maintaining consistent communication patterns with backend systems. A web interface 1518 enables browser-based access to the capabilities of the Al integrated system 1500 and may communicate with other layers using, for example, Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) protocols.
[0170] The API gateway layer 1504 serves as an entry point for client communications. The API gateway layer 1504 comprises an API gateway 1520, which may implement routing logic to direct incoming requests to appropriate backend services. An authenticator 1522 validates client credentials, for example using industry-standard protocols, such as OAuth 2.0 (Open Authorization 2.0) or IWT (ISON Web Tokens). In some examples, a rate limiter 1524 of the API gateway layer 1504 operates to help reduce system abuse or ensure resource allocation among clients.
[0171] The application layer 1506 comprises various processing capabilities. In some examples, the application layer 1506 includes a load balancer 1526 that may distribute incoming requests across multiple application server instances to support resource utilization and system reliability. An application server 1528 may implement business or core functional logic of the Al integrated system 1500, processing requests andcoordinating responses across various system components. In some examples, a message queue 1530 facilitates asynchronous processing capabilities, facilitating efficient handling of operations, and a cache 1532 operates within the application layer 1506 to improve response times for frequently requested data.
[0172] The Al service layer 1508 provides Al capabilities through a structured approach to model deployment and execution. In some examples, the Al service layer 1508 includes a model orchestrator 1534 that coordinates the execution of one or various Al models, managing resource allocation and implementing routing logic to direct requests to appropriate model instances. The model orchestrator 1534 may implement functionality such as container orchestration, model versioning, and dynamic scaling to efficiently manage model deployment and execution across computing resources. A preprocessor 1536 may prepare input data for model consumption, implementing transformations, validations, or other preprocessing operations.
[0173] FIG. 15 shows the Al service layer 1508 as including a model layer 1538. The model layer 1538 may include multiple model types, including, for example, one or more of: a language model 1540 for processing textual input, implementing natural language processing capabilities; a vision model 1542 for handling image or video processing tasks; and a multimodal model 1544 that combines multiple input types to provide comprehensive analysis capabilities. In some examples, a postprocessor 1546 of the Al service layer 1508 transforms model outputs into standardized formats suitable for client consumption.
[0174] The data layer 1510 provides persistent storage capabilities. While not detailed in FIG. 15, it is noted that the data layer 1510 may include various components such as a primary database for maintaining transactional data, a vector database for optimizing storage and retrieval of highdimensional vectors used in Al applications and models of the Al service layer 1508, or a file storage component for managing binary data assets.
[0175] The monitoring layer 1512 may provide observability capabilities across the Al integrated system 1500. This may include logging for capturing system events, metrics collection for performance analysis, or distributed tracing for detailed analysis of request flow through the system.
[0176] Communication between layers of the Al integrated system 1500 may follow defined patterns. External communications may implement appropriate encryption protocols, for example utilizing Transport Layer Security (TLS) or Secure Sockets Layer (SSL) for data protection. Internal communications may use various protocols selected for specific use cases, for example, Hypertext Transfer Protocol version 2 (HTTP / 2), gRPC (Google Remote Procedure Call), or proprietary protocols where appropriate.
[0177] Referring again to the model layer 1538, this layer may incorporate various types of machine learning models. Neural networks may be deployed to implement various architectures suited to specific processing needs.
[0178] A language model such as the language model 1540 may use transformer-based architectures (e.g., Bidirectional Encoder Representations from Transformers (BERT), Generative Pre-trained Transformer (GPT) variants, or Text-to-Text Transfer Transformer (T5)) for processing textual data and implementing natural language understanding capabilities. A vision model such as the vision model 1542 may employ specialized neural network architectures (e.g., CNNs, Vision Transformers (ViT), or Residual Neural Network (RcsNct) variants) for processing visual information and extracting features from images or video streams. A multimodal model such as the multimodal model 1544 may implement hybrid architectures (e.g., Contrastive Language-Image Pre-training (CLIP), DALL-E variants, or multimodal transformers) designed to process and correlate information across different input modalities, leveraging ensemble approaches to combine multiple model types using model aggregation or weighted prediction strategies. A multimodal model may combine textual, visual, and other forms of input data to provide analysis and generate integrated outputs that leverage cross-modal understanding capabilities.
[0179] The Al service layer 1508 may provide both supervised learning models (e.g., decision trees, random forests, or support vector machines) for specific classification and prediction tasks, and unsupervised learning models (e.g., k-means clustering or principal component analysis) for pattern discovery and dimensionality reduction within the data processing pipeline. Probabilistic models (e.g., Bayesian networks or hidden Markov models) may be integrated within the Al service layer 1508 to handle uncertainty in decision-making processes, working in conjunction with the preprocessor 1536 and postprocessor 1546 components to provide probability estimates and confidence metrics for model outputs.
[0180] Each model type may be implemented using various deployment strategies, with the model orchestrator 1534 managing their execution and resource allocation to ensure adequate performance and efficient system operation. This may include coordinating the deployment and execution of various model types, ensuring efficient resource allocation, and appropriate model selection based on specific task requirements. While in some examples the model layer 1538 provides server-based access to one or more models, a model can alternatively (or additionally) be deployed so as to perform inference locally (e.g., at the client layer 1502).
[0181] SOFTWARE ARCHITECTURE
[0182] FIG. 16 is a block diagram 1600 illustrating a software architecture 1602, which can be installed on any one or more of the devices described herein. The software architecture 1602 is supported by hardware such as a machine 1604 that includes Processors 1606, memory 1608, and I / O components 1610. In this example, the software architecture 1602 can be conceptualized as a stack of layers, where each layer provides a particular functionality. The software architecture 1602 includes layers such as an operating system 1612, libraries 1614, frameworks 1616, and applications 1618. Operationally, the applications 1618 invoke API calls 1620 through the software stack and receive messages 1622 in response to the API calls 1620.
[0183] The operating system 1612 manages hardware resources and provides common services. The operating system 1612 includes, for example, a kernel 1624, services 1626, and drivers 1628. The kernel 1624 acts as an abstraction layer between the hardware and the other software layers. For example, the kernel 1624 provides memory management, processor management (e.g., scheduling), component management, networking, and security settings, among other functionalities. The services 1626 can provide other common services for the other software layers. The drivers 1628 are responsible for controlling or interfacing with the underlying hardware. For instance, the drivers 1628 can include display drivers, camera drivers, BLUETOOTH® or BLUETOOTH® Low Energy drivers, flash memory drivers, serial communication drivers (e.g., USB drivers), WI-FI® drivers, audio drivers, power management drivers, and so forth.
[0184] The libraries 1614 provide a common low-level infrastructure used by the applications 1618. The libraries 1614 can include system libraries 1630 (e.g., C standard library) that provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. In addition, the libraries 1614 can include API libraries 1632 such as media libraries (e.g., libraries to support presentation and manipulation of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG)), graphics libraries (e.g., an OpenGL framework used to render in two dimensions (2D) and three dimensions (3D) in a graphic content on a display), database libraries (e.g., SQLite to provide various relational database functions), web libraries (e.g., WebKit to provide web browsing functionality), and the like. The libraries 1614 can also include a wide variety of other libraries 1634 to provide many other APIs to the applications 1618.
[0185] The frameworks 1616 provide a common high-level infrastructure that is used by the applications 1618. For example, the frameworks 1616 provide various graphical user interface (GUI) functions, high-level resource management, and high-level location services. The frameworks 1616 can provide a broad spectrum of other APIs that can be used by the applications 1618, some of which may be specific to a particular operating system or platform.
[0186] In an example, the applications 1618 may a broad assortment of applications such as a third-party application 1652. The applications 1618 are programs that execute functions defined in the programs. Various programming languages can be employed to create one or more of the applications 1618, structured in a variety of manners, such as object-oriented programming languages (e.g., Objective-C, Java, or C++) or procedural programming languages (e.g., C or assembly language). In a specific example, the third-party application 1652 (e.g., an application developed using the ANDROID™ or IOS™ software development kit (SDK) by an entity other than the vendor of a platform) may be mobile software running on a mobile operating system such as IOS™, ANDROID™, WINDOWS® Phone, or another mobile operating system. In this example, the third-party application 1652 can invoke the API calls 1620 provided by the operating system 1612 to facilitate functionalities described herein.
[0187] MACHINE ARCHITECTURE
[0188] FIG. 17 is a diagrammatic representation of the machine 1700 within which instructions 1702 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1700 to perform any one or more of the methodologies discussed herein may be executed. For example, the instructions 1702 may cause the machine 1700 to execute any one or more of the methods described herein. The instructions 1702 transform the general, non-programmed machine 1700 into a particular machine 1700 programmed to carry out the described and illustrated functions in the manner described. The machine 1700 may operate as a standalone device or may be coupled (e.g.,networked) to other machines. In a networked deployment, the machine 1700 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1700 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smartphone, a mobile device, a wearable device (e.g., a smartwatch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1702, sequentially or otherwise, that specify actions to be taken by the machine 1700. Further, while a single machine 1700 is illustrated, the term "machine" shall also be taken to include a collection of machines that individually or jointly execute the instructions 1702 to perform any one or more of the methodologies discussed herein. The machine 1700, for example, may comprise a user system or any one of multiple server devices forming part of a server system. In some examples, the machine 1700 may also comprise both client and server systems, with certain operations of a particular method or algorithm being performed on the server-side and with certain operations of the method or algorithm being performed on the clientside.
[0189] The machine 1700 may include processors 1704, memory 1706, and input / output I / O components 1708, which may be configured to communicate with each other via a bus 1710.
[0190] The memory 1706 includes a main memory 1716, a static memory 1718, and a storage unit 1720, both accessible to the processors 1704 via the bus 1710. The main memory 1706, the static memory 1718, and storage unit 1720 store the instructions 1702 embodying any one or more of the methodologies or functions described herein. The instructions 1702 may also reside, completely or partially, within the main memory 1716, within the static memory 1718, within machine-readable medium 1722 within thestorage unit 1720, within at least one of the processors 1704 (e.g., within the processor's cache memory), or any suitable combination thereof, during execution thereof by the machine 1700.
[0191] The I / O components 1708 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I / O components 1708 that are included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones may include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 1708 may include many other components that are not shown in FIG. 17. In various examples, the I / O components 1708 may include user output components 1724 and user input components 1726. The user output components 1724 may include visual components (e.g., a display such as a plasma display panel (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The user input components 1726 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo- optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
[0192] In further examples, the I / O components 1708 may include biometric components 1728, motion components 1730, environmental components 1732, or position components 1734, among a wide array of other components. For example, the biometric components 1728 include components to detect expressions (e.g., hand expressions, facial expressions,vocal expressions, body gestures, or eye-tracking), measure biosignals (e.g.. blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like. The motion components 1730 include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope). The environmental components 1732 include, for example, one or cameras (with still image / photograph and video capabilities), illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detection concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment.
[0193] Communication may be implemented using a wide variety of technologies. The I / O components 1708 further include communication components 1736 operable to couple the machine 1700 to a Network 1738 or devices 1740 via respective coupling or connections. For example, the communication components 1736 may include a network interface component or another suitable device to interface with the Network 1738. In further examples, the communication components 1736 may include wired communication components, wireless communication components, cellular communication components, Near Field Communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities. The devices 1740 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).
[0194] Moreover, the communication components 1736 may detect identifiers or include components operable to detect identifiers. For example, the communication components 1736 may include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (c.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph™, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals). In addition, a variety of information may be derived via the communication components 1736, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.
[0195] The various memories (e.g., main memory 1716, static memory 1718, and memory of the processors 1704) and storage unit 1720 may store one or more sets of instructions and data structures (c.g., software) embodying or used by any one or more of the methodologies or functions described herein. These instructions (e.g., the instructions 1702), when executed by processors 1704, cause various operations to implement the disclosed examples.
[0196] The instructions 1702 may be transmitted or received over the Network 1738, using a transmission medium, via a network interface device (e.g., a network interface component included in the communication components 1736) and using any one of several well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 1702 may be transmitted or received using a transmission medium via a coupling (e.g., a peer-to-peer coupling) to the devices 1740.
[0197] As used in this disclosure, phrases of the form “at least one of an A, a B, or a C,” “at least one of A, B, or C,” “at least one of A, B, and C,” and the like, should be interpreted to select at least one from the group that comprises “A, B, and C.” Unless explicitly stated otherwise in connectionwith a particular instance in this disclosure, this manner of phrasing does not mean “at least one of A, at least one of B, and at least one of C.” As used in this disclosure, the example “at least one of an A, a B, or a C,” would cover any of the following selections: {A}, {B }, {C}, {A, B }, {A, C}, {B, C}, and {A, B, C}.
[0198] Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense, i.e., in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words using the singular or plural number may also include the plural or singular number, respectively. The word “or” in reference to a list of two or more items, covers all of the following interpretations of the word: any one of the items in the list, all of the items in the list, and any combination of the items in the list. Likewise, the term “and / or” in reference to a list of two or more items, covers all of the following interpretations of the word: any one of the items in the list, all of the items in the list, and any combination of the items in the list.
[0199] The various features, steps, operations, and processes described herein may be used independently of one another or may be combined in various ways. All possible combinations and sub-combinations are intended to fall within the scope of this disclosure. In addition, certain method or process blocks, or operations may be omitted in some implementations.
[0200] The term “operation” is used to refer to elements in the drawings of this disclosure for ease of reference and it will be appreciated that each“operation” may identify one or more operations, processes, actions, or steps, and may be performed by one or multiple components.
[0201] Although some examples, e.g., those depicted in the drawings, include a particular sequence of operations, the sequence may be altered without departing from the scope of the present disclosure. For example, some of the operations depicted may be performed in parallel or in a different sequence that does not materially affect the functions as described in the examples. In other examples, different components of an example device or system that implements an example method may perform functions at substantially the same time or in a specific sequence.
[0202] EXAMPLES
[0203] In view of the above-described implementations of subject matter, this application discloses the following list of examples, wherein one feature of an example in isolation or more than one feature of an example, taken in combination and, optionally, in combination with one or more features of one or more further examples, are further examples also falling within the disclosure of this application.
[0204] Data Integration and Processing
[0205] Some implementations involve the workflow management system's ability to collect and integrate data from multiple sources. The workflow management system gathers raw data, which is then processed and standardized. The workflow management system derives meaningful information from the collected data.
[0206] Example 1 is a system comprising: at least one hardware processor; and a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: instantiating a plurality of crawler instances to collect data from a plurality of data sources; collecting a first set of data from the plurality of data sources using the plurality of crawler instances; standardizing the first set of data using a data modeler, wherein standardizing the first set of data comprises: identifying a first category for a first data instance of the first set of data; and standardizing thefirst data instance based on a data structure for the first category; attaching metadata to the first set of data; storing the first set of data in a datastore; and providing access to the first set of data.
[0207] In Example 2, the subject matter of Example 1 comprises wherein the plurality of data sources comprise at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0208] In Example 3, the subject matter of Examples 1-2 comprises wherein collecting the first set of data comprises: formulating an API call to a data source using a data source configuration registry.
[0209] In Example 4, the subject matter of Examples 1-3 comprises the operations further comprising: constructing, using an augmenter machine learning model, a context for a first set of tasks to be performed by a first user based on the first set of data.
[0210] In Example 5, the subject matter of Examples 1-4 comprises the operations further comprising: extracting, using an augmenter machine learning model, entities associated with a first set of tasks to be performed by a first user based on the first set of data; and categorizing the entities associated with the first set of tasks using the augmenter machine learning model.
[0211] In Example 6, the subject matter of Examples 1-5 comprises wherein standardizing the first set of data further comprises: mapping data elements from different data sources to a common data structure.
[0212] In Example 7, the subject matter of Examples 1-6 comprises the operations further comprising: identifying, using an augmenter machine learning model, dependencies between a first set of tasks to be performed by a first user and a second set of tasks to be performed by a second user based on the first set of data.
[0213] In Example 8, the subject matter of Examples 1-7 comprises wherein the data modeler is trained to standardize data from different data sources into a unified format.
[0214] In Example 9, the subject matter of Examples 1-8 comprises the operations further comprising: dynamically updating the first set of data based on updates from the plurality of data sources.
[0215] In Example 10, the subject matter of Examples 1-9 comprises wherein providing access to the first set of data comprises: implementing security measures to control access based on user permissions and privacy policies.
[0216] Example 11 is a method for integrating and processing data from multiple sources, the method comprising: instantiating a plurality of crawler instances to collect data from a plurality of data sources; collecting a first set of data from the plurality of data sources using the plurality of crawler instances: standardizing the first set of data using a data modeler, wherein standardizing the first set of data comprises: identifying a first category for a first data instance of the first set of data; and standardizing the first data instance based on a data structure for the first category; attaching metadata to the first set of data; storing the first set of data in a datastore; and providing access to the first set of data.
[0217] In Example 12, the subject matter of Example 11 comprises wherein the plurality of data sources comprise at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0218] In Example 13, the subject matter of Examples 11-12 comprises wherein collecting the first set of data comprises: formulating an API call to a data source using a data source configuration registry.
[0219] In Example 14, the subject matter of Examples 11-13 comprises further comprising: constructing, using an augmenter machine learning model, a context for a first set of tasks to be performed by a first user based on the first set of data.
[0220] In Example 15, the subject matter of Examples 11-14 comprises further comprising: extracting, using an augmenter machine learning model, entities associated with a first set of tasks to be performed by a first userbased on the first set of data; and categorizing the entities associated with the first set of tasks using the augmenter machine learning model.
[0221] In Example 16, the subject matter of Examples 11-15 comprises wherein standardizing the first set of data further comprises: mapping data elements from different data sources to a common data structure.
[0222] In Example 17, the subject matter of Examples 11-16 comprises further comprising: identifying, using an augmenter machine learning model, dependencies between a first set of tasks to be performed by a first user and a second set of tasks to be performed by a second user based on the first set of data.
[0223] In Example 18, the subject matter of Examples 11-17 comprises wherein the data modeler is trained to standardize data from different data sources into a unified format.
[0224] In Example 19, the subject matter of Examples 11-18 comprises further comprising: dynamically updating the first set of data based on updates from the plurality of data sources.
[0225] In Example 20, the subject matter of Examples 11-19 comprises wherein providing access to the first set of data comprises: implementing security measures to control access based on user permissions and privacy policies.
[0226] Example 21 is a non-transitory computer-readable storage medium including instructions that are executable by one or more processors to cause a computing device to perform operations comprising: instantiating a plurality of crawler instances to collect data from a plurality of data sources; collecting a first set of data from the plurality of data sources using the plurality of crawler instances; standardizing the first set of data using a data modeler, wherein standardizing the first set of data comprises: identifying a first category for a first data instance of the first set of data; and standardizing the first data instance based on a data structure for the first category; attaching metadata to the first set of data; storing the first set of data in a datastore; and providing access to the first set of data.
[0227] In Example 22, the subject matter of Example 21 comprises wherein the plurality of data sources comprise at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0228] In Example 23, the subject matter of Examples 21-22 comprises wherein collecting the first set of data comprises: formulating an API call to a data source using a data source configuration registry.
[0229] In Example 24, the subject matter of Examples 21-23 comprises the operations further comprising: constructing, using an augmenter machine learning model, a context for a first set of tasks to be performed by a first user based on the first set of data.
[0230] In Example 25, the subject matter of Examples 21-24 comprises the operations further comprising: extracting, using an augmenter machine learning model, entities associated with a first set of tasks to be performed by a first user based on the first set of data; and categorizing the entities associated with the first set of tasks using the augmenter machine learning model.
[0231] In Example 26, the subject matter of Examples 21-25 comprises wherein standardizing the first set of data further comprises: mapping data elements from different data sources to a common data structure.
[0232] In Example 27, the subject matter of Examples 21-26 comprises the operations further comprising: identifying, using an augmenter machine learning model, dependencies between a first set of tasks to be performed by a first user and a second set of tasks to be performed by a second user based on the first set of data.
[0233] In Example 28, the subject matter of Examples 21-27 comprises wherein the data modeler is trained to standardize data from different data sources into a unified format.
[0234] In Example 29, the subject matter of Examples 21-28 comprises the operations further comprising: dynamically updating the first set of data based on updates from the plurality of data sources.
[0235] In Example 30, the subject matter of Examples 21-29 comprises wherein providing access to the first set of data comprises: implementing security measures to control access based on user permissions and privacy policies.
[0236] Task Extraction and Prioritization
[0237] Some implementations involve the workflow management system’s ability to extract tasks from various communications and data sources. The system analyzes the data to identify actionable tasks. The system then prioritizes these tasks based on factors such as urgency, importance, and relevance to a user's role. This prioritization is dynamic, adjusting in realtime as new information becomes available.
[0238] Example 1 is a system comprising: at least one hardware processor; and a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: collecting, by a crawler service, data from a plurality of data sources; processing the collected data using a processor service to generate modeled data; extracting entities from the modeled data; extracting signals from the modeled data; generating contextualized data based on the extracted entities and the extracted signals: identifying a set of tasks based on the contextualized data; ranking the set of tasks based on a plurality of factors to generate a prioritized task list; and providing the prioritized task list to a user application.
[0239] In Example 2, the subject matter of Example 1 comprises wherein the plurality of data sources comprises at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0240] In Example 3, the subject matter of Examples 1-2 comprises wherein processing the collected data comprises: parsing the collected data; modeling the parsed data using a data modeler; and attaching metadata to the modeled data.
[0241] In Example 4, the subject matter of Examples 1-3 comprises wherein generating contextualized data comprises: constructing, by a context constructor, a context for the extracted entities and the extracted signals.
[0242] In Example 5, the subject matter of Examples 1-4 comprises wherein identifying the set of tasks comprises: analyzing the contextualized data using a large language model (LLM), wherein: a first LLM layer processes the contextualized data to extract potential tasks; and a second LLM layer filters the potential tasks based on user-specific permissions and context.
[0243] In Example 6, the subject matter of Examples 1-5 comprises wherein ranking the set of tasks comprises: predicting, using a machine learning model, a probability of closing a deal associated with each task; estimating an expected revenue for each task; and prioritizing the tasks based on a combination of the probability of closing and the expected revenue.
[0244] In Example 7, the subject matter of Examples 1-6 comprises the operations further comprising: dynamically updating the prioritized task list based on updates from the plurality of data sources.
[0245] In Example 8, the subject matter of Examples 1-7 comprises the operations further comprising: identifying dependencies between tasks assigned to different users; and adjusting the prioritized task list based on the identified dependencies.
[0246] In Example 9, the subject matter of Examples 1-8 comprises wherein the plurality of factors for ranking tasks includes at least one of: task urgency, task importance, associated revenue, workflow stage, and user role.
[0247] In Example 10, the subject matter of Examples 1-9 comprises the operations further comprising: receiving user feedback on the prioritized task list; and refining a machine learning model for ranking the prioritized task list based on the user feedback.
[0248] Example 11 is a method for integrating and processing data from multiple sources, the method comprising: collecting, by a crawler service,data from a plurality of data sources; processing the collected data using a processor service to generate modeled data; extracting entities from the modeled data; extracting signals from the modeled data; generating contextualized data based on the extracted entities and the extracted signals; identifying a set of tasks based on the contextualized data; ranking the set of tasks based on a plurality of factors to generate a prioritized task list; and providing the prioritized task list to a user application.
[0249] In Example 12, the subject matter of Example 11 comprises wherein the plurality of data sources comprises at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0250] In Example 13, the subject matter of Examples 11-12 comprises wherein processing the collected data comprises: parsing the collected data; modeling the parsed data using a data modeler; and attaching metadata to the modeled data.
[0251] In Example 14, the subject matter of Examples 11-13 comprises wherein generating contextualized data comprises: constructing, by a context constructor, a context for the extracted entities and the extracted signals.
[0252] In Example 15, the subject matter of Examples 11-14 comprises wherein identifying the set of tasks comprises: analyzing the contextualized data using a large language model (LLM), wherein: a first LLM layer processes the contextualized data to extract potential tasks; and a second LLM layer filters the potential tasks based on user-specific permissions and context.
[0253] In Example 16, the subject matter of Examples 11-15 comprises wherein ranking the set of tasks comprises: predicting, using a machine learning model, a probability of closing a deal associated with each task; estimating an expected revenue for each task; and prioritizing the tasks based on a combination of the probability of closing and the expected revenue.
[0254] In Example 17, the subject matter of Examples 11-16 comprises further comprising: dynamically updating the prioritized task list based on updates from the plurality of data sources.
[0255] In Example 18, the subject matter of Examples 11-17 comprises further comprising: identifying dependencies between tasks assigned to different users; and adjusting the prioritized task list based on the identified dependencies.
[0256] In Example 19, the subject matter of Examples 11-18 comprises wherein the plurality of factors for ranking tasks includes at least one of: task urgency, task importance, associated revenue, workflow stage, and user role.
[0257] In Example 20, the subject matter of Examples 11-19 comprises further comprising: receiving user feedback on the prioritized task list; and refining a machine learning model for ranking the prioritized task list based on the user feedback.
[0258] Example 21 is a non-transitory computer-readable storage medium including instructions that are executable by one or more processors to cause a computing device to perform operations comprising: collecting, by a crawler service, data from a plurality of data sources; processing the collected data using a processor service to generate modeled data; extracting entities from the modeled data; extracting signals from the modeled data; generating contextualized data based on the extracted entities and the extracted signals; identifying a set of tasks based on the contextualized data; ranking the set of tasks based on a plurality of factors to generate a prioritized task list; and providing the prioritized task list to a user application.
[0259] In Example 22, the subject matter of Example 21 comprises wherein the plurality of data sources comprises at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0260] In Example 23, the subject matter of Examples 21-22 comprises wherein processing the collected data comprises: parsing the collected data;modeling the parsed data using a data modeler; and attaching metadata to the modeled data.
[0261] In Example 24, the subject matter of Examples 21-23 comprises wherein generating contextualized data comprises: constructing, by a context constructor, a context for the extracted entities and the extracted signals.
[0262] In Example 25, the subject matter of Examples 21-24 comprises wherein identifying the set of tasks comprises: analyzing the contextualized data using a large language model (LLM), wherein: a first LLM layer processes the contextualized data to extract potential tasks; and a second LLM layer filters the potential tasks based on user-specific permissions and context.
[0263] In Example 26, the subject matter of Examples 21-25 comprises wherein ranking the set of tasks comprises: predicting, using a machine learning model, a probability of closing a deal associated with each task; estimating an expected revenue for each task; and prioritizing the tasks based on a combination of the probability of closing and the expected revenue.
[0264] In Example 27, the subject matter of Examples 21-26 comprises the operations further comprising: dynamically updating the prioritized task list based on updates from the plurality of data sources.
[0265] In Example 28, the subject matter of Examples 21-27 comprises the operations further comprising: identifying dependencies between tasks assigned to different users; and adjusting the prioritized task list based on the identified dependencies.
[0266] In Example 29, the subject matter of Examples 21-28 comprises wherein the plurality of factors for ranking tasks includes at least one of: task urgency, task importance, associated revenue, workflow stage, and user role.
[0267] In Example 30, the subject matter of Examples 21-29 comprises the operations further comprising: receiving user feedback on the prioritized task list; and refining a machine learning model for ranking the prioritized task list based on the user feedback.
[0268] Context-Aware Insights Generation
[0269] Some implementations involve the workflow management system’s ability to generate contextual insights by analyzing data and tasks. It uses machine learning models to understand user-specific processes and priorities, and to provide relevant insights for decision-making.
[0270] Example 1 is a system comprising: at least one hardware processor; and a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: collecting, by a crawler service, data from a plurality of data sources; processing the collected data using a processor service to generate modeled data; extracting entities from the modeled data; extracting signals from the modeled data; generating a context based on the extracted entities and the extracted signals; generating contextualized data based on the generated context; generating one or more insights based on the contextualized data; identifying one or more tasks associated with the one or more insights based on the contextualized data; and providing the one or more insights to a user application.
[0271] In Example 2, the subject matter of Example 1 comprises wherein the plurality of data sources comprises at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0272] In Example 3, the subject matter of Examples 1-2 comprises wherein generating the context comprises: analyzing relationships between the extracted entities and the extracted signals; and associating an extracted signal with an extracted entity based on the analyzed relationships.
[0273] In Example 4, the subject matter of Examples 1-3 comprises wherein generating the one or more insights comprises: identifying extracted information provided by a first entity; and associating the extracted information with a second entity based on a relationship between the first entity and the second entity.
[0274] In Example 5, the subject matter of Examples 1-4 comprises wherein providing the one or more insights comprises: providing a userinterface accessible through selection of the one or more tasks; and providing the one or more insights through the user interface.
[0275] In Example 6, the subject matter of Examples 1-5 comprises the operations further comprising: dynamically updating the one or more insights based on updates from the plurality of data sources.
[0276] In Example 7, the subject matter of Examples 1-6 comprises the operations further comprising: generating a summary comprising the one or more insights, the one or more insights ranked based on at least one of: task relevance, customer importance, and recency.
[0277] In Example 8, the subject matter of Examples 1-7 comprises wherein the plurality of factors for ranking insights include at least one of: task relevance, entity importance, workflow stage, and user role.
[0278] In Example 9, the subject matter of Examples 1-8 comprises the operations further comprising: receiving user feedback on the one or more insights; and refining a machine learning model for generating the one or more insights based on the received user feedback.
[0279] In Example 10, the subject matter of Examples 1-9 comprises the operations further comprising: automatically updating a CRM system with the generated insights.
[0280] Example 11 is a method for generating context-aware insights in a workflow management system, the method comprising: collecting, by a crawler service, data from a plurality of data sources; processing the collected data using a processor service to generate modeled data; extracting entities from the modeled data; extracting signals from the modeled data; generating a context based on the extracted entities and the extracted signals; generating contextualized data based on the generated context; generating one or more insights based on the contextualized data; identifying one or more tasks associated with the one or more insights based on the contextualized data; and providing the one or more insights to a user application.
[0281] In Example 12, the subject matter of Example 11 comprises wherein the plurality of data sources comprises at least one of: an email system, acalendar system, a customer relationship management (CRM) system, and a communication platform.
[0282] In Example 13, the subject matter of Examples 11-12 comprises wherein generating the context comprises: analyzing relationships between the extracted entities and the extracted signals; and associating an extracted signal with an extracted entity based on the analyzed relationships.
[0283] In Example 14, the subject matter of Examples 11-13 comprises wherein generating the one or more insights comprises: identifying extracted information provided by a first entity; and associating the extracted information with a second entity based on a relationship between the first entity and the second entity.
[0284] In Example 15, the subject matter of Examples 11-14 comprises wherein providing the one or more insights comprises: providing a user interface accessible through selection of the one or more tasks; and providing the one or more insights through the user interface.
[0285] In Example 16, the subject matter of Examples 11-15 comprises further comprising: dynamically updating the one or more insights based on updates from the plurality of data sources.
[0286] In Example 17, the subject matter of Examples 11-16 comprises further comprising: generating a summary comprising the one or more insights, the one or more insights ranked based on at least one of: task relevance, customer importance, and recency.
[0287] In Example 18, the subject matter of Examples 11-17 comprises wherein the plurality of factors for ranking insights include at least one of: task relevance, entity importance, workflow stage, and user role.
[0288] In Example 19, the subject matter of Examples 11-18 comprises further comprising: receiving user feedback on the one or more insights; and refining a machine learning model for generating the one or more insights based on the received user feedback.
[0289] In Example 20, the subject matter of Examples 11-19 comprises further comprising: automatically updating a CRM system with the generated insights.
[0290] Example 21 is a non-transitory computer-readable storage medium including instructions that are executable by one or more processors to cause a computing device to perform operations comprising: collecting, by a crawler service, data from a plurality of data sources; processing the collected data using a processor service to generate modeled data; extracting entities from the modeled data; extracting signals from the modeled data; generating a context based on the extracted entities and the extracted signals; generating contextualized data based on the generated context; generating one or more insights based on the contextualized data; identifying one or more tasks associated with the one or more insights based on the contextualized data; and providing the one or more insights to a user application.
[0291] In Example 22, the subject matter of Example 21 comprises wherein the plurality of data sources comprises at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
[0292] In Example 23, the subject matter of Examples 21-22 comprises wherein generating the context comprises: analyzing relationships between the extracted entities and the extracted signals; and associating an extracted signal with an extracted entity based on the analyzed relationships.
[0293] In Example 24, the subject matter of Examples 21-23 comprises wherein generating the one or more insights comprises: identifying extracted information provided by a first entity; and associating the extracted information with a second entity based on a relationship between the first entity and the second entity.
[0294] In Example 25, the subject matter of Examples 21-24 comprises wherein providing the one or more insights comprises: providing a user interface accessible through selection of the one or more tasks; and providing the one or more insights through the user interface.
[0295] In Example 26, the subject matter of Examples 21-25 comprises the operations further comprising: dynamically updating the one or more insights based on updates from the plurality of data sources.
[0296] In Example 27, the subject matter of Examples 21-26 comprises the operations further comprising: generating a summary comprising the one or more insights, the one or more insights ranked based on at least one of: task relevance, customer importance, and recency.
[0297] In Example 28, the subject matter of Examples 21-27 comprises wherein the plurality of factors for ranking insights include at least one of: task relevance, entity importance, workflow stage, and user role.
[0298] In Example 29, the subject matter of Examples 21-28 comprises the operations further comprising: receiving user feedback on the one or more insights; and refining a machine learning model for generating the one or more insights based on the received user feedback.
[0299] In Example 30, the subject matter of Examples 21-29 comprises the operations further comprising: automatically updating a CRM system with the generated insights.
[0300] TERM EXAMPLES
[0301] "Network" may include one or more portions of a network that are coupled together to form an end-to-end communication path between two points. The network may be comprised of multiple network portions using different permutations and combinations of network types. Example network portions may include: an ad hoc network; an intranet; an extranet; a virtual private network (VPN); a local area network (LAN); a wireless LAN (WLAN); a wide area network (WAN); a wireless WAN (WWAN); a metropolitan area network (MAN); the Internet; a portion of the Internet; a portion of the Public Switched Telephone Network (PSTN); a plain old telephone service (POTS) network; a cellular telephone network; a wireless network; a Wi-Fi® network; another type of network; a combination of two or more such networks.
[0302] Specific examples may include: 5G networks; low power wide area networks (LPWANs) like LoRaWAN or Sigfox; narrowband internet ofthings (NB-IoT); 6G networks; Bluetooth; Zigbee; Thread; Z-Wave; Near Field Communication (NFC); Radio Frequency Identification (RFID); Message Queuing Telemetry Transport (MQTT); Constrained Application Protocol (CoAP); Controller Area Network (CAN) bus; FlexRay; Body area networks (BANs); Wireless USB.
[0303] Example networks may utilize a variety of data transfer technologies, such as: Single Carrier Radio Transmission Technology (IxRTT); Evolution-Data Optimized (EVDO) technology; General Packet Radio Service (GPRS) technology; Enhanced Data rates for GSM Evolution (EDGE) technology; Third Generation Partnership Project (3GPP) including 3G; fourth-generation wireless (4G) networks; Universal Mobile Telecommunications System (UMTS); High-Speed Packet Access (HSPA); Worldwide Interoperability for Microwave Access (WiMAX); Long Term Evolution (LTE) standard; others defined by various standard- setting organizations; other long-range protocols; other data transfer technology.
[0304] "Component" may include a device, physical entity, or logic having boundaries defined by function or subroutine calls, branch points, APIs, or other technologies that provide for the partitioning or modularization of particular processing or control functions. Components may be combined via their interfaces with other components to carry out a machine process. A component may be a packaged functional hardware unit designed for use with other components and a part of a program that usually performs a particular function of related functions. Components may constitute either software components (e.g., code embodied on a machine-readable medium) or hardware components. A "hardware component" is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner In some examples, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware components of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware component that operates to perform certain operations as described herein.A hardware component may also be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware component may include dedicated circuitry or logic that is permanently configured to perform certain operations. A hardware component may be a special-purpose processor, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). A hardware component may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware component may include software executed by a general-purpose processor or other programmable processor. Once configured by such software, hardware components become specific machines (or specific components of a machine) uniquely tailored to perform the configured functions and are no longer general-purpose processors. A decision to implement a hardware component mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software), may be driven by cost and time considerations. Accordingly, the phrase "hardware component"(or "hardware-implemented component") should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering examples in which hardware components are temporarily configured (e.g., programmed), each of the hardware components need not be configured or instantiated at any one instance in time. For example, where a hardware component comprises a general- purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as different special-purpose processors (e.g., comprising different hardware components) at different times. Software accordingly configures a particular processor or processors, for example, to constitute a particular hardware component at one instance of time and to constitute a different hardware component at a different instance of time. Hardware components can provide information to, and receive information from, other hardware components. Accordingly,the described hardware components may be regarded as being communicatively coupled. Where multiple hardware components exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware components. In examples in which multiple hardware components are configured or instantiated at different times, communications between such hardware components may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware components have access. For example, one hardware component may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware component may then, at a later time, access the memory device to retrieve and process the stored output. Hardware components may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information). The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented components that operate to perform one or more operations or functions described herein. As used herein, "processor- implemented component" refers to a hardware component implemented using one or more processors. Similarly, the methods described herein may be at least partially processor-implemented, with a particular processor or processors being an example of hardware. For example, at least some of the operations of methods described herein may be performed by one or more processors or processor-implemented components. Moreover, the one or more processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service" (SaaS).For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an API). Theperformance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across a number of machines. In some examples, the processors or processor- implemented components may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In some examples, the processors or processor-implemented components may be distributed across a number of geographic locations.
[0305] "Non-transitory computer-readable medium" may include, in some examples, one or more storage devices and media (e.g., a centralized or distributed database, and associated caches and servers) that store executable instructions, routines, and data. The term specifically excludes intangible carrier waves, modulated data signals, and other such media, at least some of which are covered under the term "signal medium." The term shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media, including memory internal or external to processors. Specific examples of non-transitory machine-readable media, non-transitory computer-readable media, and device-readable media may include non-volatile memory, including by way of example semiconductor memory devices, e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), Field Programmable Gate Array (FPGA), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; CD-ROM and DVD-ROM disks; solid state drives (SSD); USB flash drives; memory cards such as SD cards, microSD cards, CompactFlash cards; optical discs such as Blu-ray discs; as well as cloud storage and network attached storage (NAS). Additional examples include read-only memory (ROM), programmable read-only memory (PROM), ferroelectric RAM (FRAM), phase-change memory (PCM), resistive RAM (RRAM), memristors, racetrack memory, and magnetic tape. The terms "non- transitory machine-readable medium," "non-transitory device-readable medium," and "non-transitory computer-readable medium" mean the same thing and may be used interchangeably in this disclosure.
[0306] "Module" may include, in some examples, logic having boundaries defined by function or subroutine calls, branch points, Application Program Interfaces (APIs), or other technologies that provide for the partitioning or modularization of particular processing or control functions. Modules are typically combined via their interfaces with other modules to carry out a machine process. A module may be a packaged functional hardware unit designed for use with other components and a part of a program that usually performs a particular function of related functions. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium) or hardware modules. A "hardware module" is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein. In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module may be a special-purpose processor, such as a Field- Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC). A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software executed by a general-purpose processor or other programmable processor. Once configured by such software, hardware modules become specific machines (or specific components of a machine) uniquely tailored to perform the configured functions and are no longer general-purpose processors. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations. Accordingly, the phrase "hardware module"(or "hardware-implemented module") should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor configured by software to become a special-purpose processor, the general- purpose processor may be configured as respectively different specialpurpose processors (e.g., comprising different hardware modules) at different times. Software accordingly configures a particular processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time. Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information). The various operations of example methods and routines described herein may be performed, at least partially, by one or moreprocessors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor- implemented modules that operate to perform one or more operations or functions described herein. As used herein, "processor-implemented module" refers to a hardware module implemented using one or more processors. Similarly, the methods described herein may be at least partially processor-implemented, with a particular processor or processors being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor- implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service" (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an Application Program Interface (API)). The performance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the processors or processor- implemented modules may be distributed across a number of geographic locations.
[0307] “Processor” may include, in some examples, one or more circuits or virtual circuits (e.g., a physical circuit emulated by logic executing on an actual processor) that manipulates data values according to control signals (e.g., commands, opcodes, machine code, control words, macroinstructions, etc.) and which produces corresponding output signals that are applied to operate a machine. A processor may, for example, include at least one of a Central Processing Unit (CPU), a Reduced Instruction Set Computing(RISC) processor, a Complex Instruction Set Computing (CISC) processor, aGraphics Processing Unit (GPU), a Digital Signal Processor (DSP), a Tensor Processing Unit (TPU), a Neural Processing Unit (NPU), a Vision Processing Unit (VPU), a Machine Learning Accelerator, an Artificial Intelligence Accelerator, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Radio-Frequency Integrated Circuit (RFIC), a neuromorphic processor, a quantum processor, or any combination thereof.
[0308] A processor may further be a multi-core processor having two or more independent processors (sometimes referred to as "cores") that may execute instructions contemporaneously. Multi-core processors contain multiple computational cores on a single integrated circuit die, each of which can independently execute program instructions in parallel. Parallel processing on multi-core processors may be implemented via architectures like superscalar, VLIW, vector processing, or SIMD that allow each core to run separate instruction streams concurrently.
[0309] A processor may be emulated in software, running on a physical processor, as a virtual processor or virtual circuit. The virtual processor may behave like an independent processor but is implemented in software rather than hardware.
[0310] "Signal Medium" may include, in some examples, an intangible medium that is capable of storing, encoding, or carrying the instructions for execution by a machine and includes digital or analog communications signals or other intangible media to facilitate communication of software or data. The term “signal medium” may include any form of a modulated data signal, carrier wave, and so forth. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a matter as to encode information in the signal. The terms "transmission medium" and “signal medium” mean the same thing and may be used interchangeably in this disclosure.
Claims
1. CLAIMSWhat is claimed is:
1. A system comprising: at least one hardware processor; and a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: instantiating a plurality of crawler instances to collect data from a plurality of data sources; collecting a first set of data from the plurality of data sources using the plurality of crawler instances; standardizing the first set of data using a data modeler, wherein standardizing the first set of data comprises: identifying a first category for a first data instance of the first set of data; and standardizing the first data instance based on a data structure for the first category; attaching metadata to the first set of data; storing the first set of data in a datastore; and providing access to the first set of data.
2. The system of claim 1, wherein the plurality of data sources comprise at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
3. The system of claim 1, wherein collecting the first set of data comprises: formulating an API call to a data source using a data source configuration registry.
4. The system of claim 1, the operations further comprising: constructing, using an augmenter machine learning model, a context for a first set of tasks to be performed by a first user based on the first set of data.
5. The system of claim 1, the operations further comprising: extracting, using an augmenter machine learning model, entities associated with a first set of tasks to be performed by a first user based on the first set of data; and categorizing the entities associated with the first set of tasks using the augmenter machine learning model.
6. The system of claim 1, wherein standardizing the first set of data further comprises: mapping data elements from different data sources to a common data structure.
7. The system of claim 1, the operations further comprising: identifying, using an augmenter machine learning model, dependencies between a first set of tasks to be performed by a first user and a second set of tasks to be performed by a second user based on the first set of data.
8. The system of claim 1, wherein the data modeler is trained to standardize data from different data sources into a unified format.
9. The system of claim 1, the operations further comprising: dynamically updating the first set of data based on updates from the plurality of data sources.
10. The system of claim 1, wherein providing access to the first set of data comprises: implementing security measures to control access based on user permissions and privacy policies.
11. A method for integrating and processing data from multiple sources, the method comprising: instantiating a plurality of crawler instances to collect data from a plurality of data sources;collecting a first set of data from the plurality of data sources using the plurality of crawler instances: standardizing the first set of data using a data modeler, wherein standardizing the first set of data comprises: identifying a first category for a first data instance of the first set of data; and standardizing the first data instance based on a data structure for the first category; attaching metadata to the first set of data; storing the first set of data in a datastore; and providing access to the first set of data.
12. The method of claim 11, wherein the plurality of data sources comprises at least one of: an email system, a calendar system, a customer relationship management (CRM) system, and a communication platform.
13. The method of claim 11, wherein collecting the first set of data comprises: formulating an API call to a data source using a data source configuration registry.
14. The method of claim 11, further comprising: constructing, using an augmenter machine learning model, a context for a first set of tasks to be performed by a first user based on the first set of data.
15. The method of claim 11, further comprising: extracting, using an augmenter machine learning model, entities associated with a first set of tasks to be performed by a first user based on the first set of data; and categorizing the entities associated with the first set of tasks using the augmenter machine learning model.
16. The method of claim 11, wherein standardizing the first set of datamapping data elements from different data sources to a common data structure.
17. The method of claim 11, further comprising: identifying, using an augmenter machine learning model, dependencies between a first set of tasks to be performed by a first user and a second set of tasks to be performed by a second user based on the first set of data.
18. The method of claim 11, wherein the data modeler is trained to standardize data from different data sources into a unified format.
19. The method of claim 11, further comprising: dynamically updating the first set of data in real-time based on updates from the plurality of data sources.
20. A non-transitory computer-readable storage medium including instructions that are executable by one or more processors to cause a computing device to perform operations comprising: instantiating a plurality of crawler instances to collect data from a plurality of data sources; collecting a first set of data from the plurality of data sources using the plurality of crawler instances; standardizing the first set of data using a data modeler, wherein standardizing the first set of data comprises: identifying a first category for a first data instance of the first set of data; and standardizing the first data instance based on a data structure for the first category; attaching metadata to the first set of data; storing the first set of data in a datastore; and providing access to the first set of data.
Citation Information
Patent Citations
Techniques for adaptive pipelining composition for machine learning (ML)
US20230336340A1