Outbound call scheduling method, device, equipment, medium and program product
By allocating workflows to the robot intelligent outbound calling system and processing list data using dynamic time nodes and routing label values, the problem of traditional systems being unable to dynamically adjust is solved, enabling flexible outbound calling times and strategies, and improving user experience and efficiency.
Patent Information
- Application Number
- CN202511183287.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2025-12-05
AI Technical Summary
Traditional robotic intelligent outbound calling systems cannot efficiently handle dynamic customer needs, resulting in response delays or strategy failures, and are unable to dynamically adjust outbound calling times and strategies to meet customer demands.
By assigning workflows to the pending list data, including trigger nodes, intent nodes, and behavior nodes, dynamic time nodes are used to obtain the agreed time to trigger processing, and the flow branches are determined based on the flow label value and the flow conditions of the intent node, and the outbound call channel is dynamically invoked for processing.
It enables dynamic adjustment of outbound call time and strategy based on customer needs, improving user experience, avoiding response delays and strategy failures, and enhancing the flexibility and efficiency of the outbound call system.
Smart Images

Figure CN121078173A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of artificial intelligence, in particular to an outbound call scheduling method and device, equipment, medium and program product. BACKGROUND
[0002] With the development of computers and artificial intelligence technology, robot intelligent outbound call technology has emerged. Robot intelligent outbound call refers to an automated outbound call system driven by artificial intelligence (AI) technology, which simulates human dialogue through voice recognition (ASR), natural language processing (NLP), and voice synthesis (TTS) technologies, automatically dials a phone and completes a specific task. The core goal is to replace or assist human outbound call, improve efficiency, reduce cost, and achieve intelligent interaction.
[0003] In traditional technology, customer dynamic needs (such as "N hours later callback") cannot be efficiently handled, relying on manual intervention or fixed time rules, resulting in response delay or strategy failure. SUMMARY
[0004] Therefore, it is necessary to provide an outbound call scheduling method, device, equipment, medium and program product capable of dynamically processing customer needs and improving user experience.
[0005] In a first aspect, the present application provides an outbound call scheduling method, the method comprising:
[0006] obtaining to-be-processed list data;
[0007] allocating a corresponding workflow to the to-be-processed list data, the workflow comprising a trigger node, an intent node, and a behavior node, and the trigger node comprising a dynamic time node;
[0008] obtaining an appointment time in the to-be-processed list data through the dynamic time node, and triggering processing of the to-be-processed list data based on the appointment time; obtaining a shunt label value corresponding to the to-be-processed list data through the intent node, and determining a flow transfer branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intent node; calling a target outbound call channel through the behavior node to process the to-be-processed list data.
[0009] In one embodiment, the trigger node further comprises a special time trigger node; the method further comprises:
[0010] determining whether the current time is a special time through the special time trigger node, the special time comprising at least one of a working day, a rest day, a statutory holiday, and a custom holiday;
[0011] In a case that the current time is the special time, suspending or continuing processing of the to-be-processed list data.
[0012] In one of the embodiments, the intention node includes a user latest intention node; the obtaining of the shunt label value corresponding to the to-be-processed list data based on the intention node and the determination of the flow transfer branch of the to-be-processed list data based on the shunt label value and the shunt condition of the intention node include:
[0013] Determining an upstream node of the intention node in the workflow;
[0014] Determining the shunt condition of the intention node based on the type of the upstream node;
[0015] Obtaining the shunt label value corresponding to the to-be-processed list data and determining the flow transfer branch of the to-be-processed list data based on the shunt label value and the shunt condition.
[0016] In one of the embodiments, the determining of the shunt condition of the intention node based on the type of the upstream node includes:
[0017] In a case that the upstream node is a robot outbound call node, determining the shunt condition based on the label type in the robot outbound call node; the shunt condition includes at least one of a call type label shunt condition, an event shunt condition and a ringing shunt condition, and the logical relationship between the configured different shunt conditions is or;
[0018] In a case that the upstream node is a short message sending node, determining the shunt condition based on the label type in the short message sending node; the shunt condition includes at least one of a call type label shunt condition and an event shunt condition, and the logical relationship between the configured different shunt conditions is or;
[0019] In a case that the upstream node is a predicted outbound call execution node, determining the shunt condition based on the type of the preset call result label in the predicted outbound call execution node.
[0020] In one of the embodiments, the obtaining of the shunt label value corresponding to the to-be-processed list data based on the type of the shunt condition includes at least one of:
[0021] In a case that the call result is a call success, generating a shunt label value based on a call label;
[0022] In a case that the call result is not a call success and involves a voice mailbox, generating a shunt label value based on a processing result label of the voice mailbox;
[0023] In a case where the call result is a call unsuccessful and no answer, a shunt label value is generated based on a preset each no-answer result label;
[0024] In a case where the call result is a call unsuccessful and the contact answers but no communication, a shunt label value is generated based on a preset no-communication case label;
[0025] In a case where the call result is a call unsuccessful and no dialing, a shunt label value is generated based on a preset no-dialing case label.
[0026] In one of the embodiments, the intention node comprises at least one of a link click node, a combination node and a full-channel achievement node; the shunt parameter value corresponding to the to-be-processed list data is acquired through the intention node, and the flow branch of the to-be-processed list data is determined based on the shunt parameter value and the shunt condition of the intention node, which comprises:
[0027] In a case where the intention node is a link click node, the flow branch of the to-be-processed list data is determined based on whether the link is clicked or not;
[0028] In a case where the intention node is a combination node, a target label is determined from the labels of the to-be-processed list data based on a label priority, and the flow branch of the to-be-processed list data is determined based on the shunt condition corresponding to the target label;
[0029] In a case where the intention node is a full-channel achievement node, the last outbound call result of the to-be-processed list data is acquired after a stay determination time of the full-channel achievement node, and the flow branch of the to-be-processed list data is determined based on the last outbound call result.
[0030] In a second aspect, the application further provides an outbound call scheduling device, which comprises:
[0031] A list data acquisition module is configured to acquire to-be-processed list data;
[0032] An allocation module is configured to allocate a corresponding workflow to the to-be-processed list data, wherein the workflow comprises a trigger node, an intention node and a behavior node, and the trigger node comprises a dynamic time node;
[0033] A scheduling module is configured to acquire an appointment time in the to-be-processed list data through the dynamic time node, and trigger the processing of the to-be-processed list data based on the appointment time; acquire a shunt label value corresponding to the to-be-processed list data through the intention node, and determine the flow branch of the to-be-processed list data based on the shunt label value and the shunt condition of the intention node; and call a target outbound call channel to process the to-be-processed list data through the behavior node.
[0034] In a third aspect, the present application provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method in any one of the above embodiments when executing the computer program.
[0035] In a fourth aspect, the present application provides a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the method in any one of the above embodiments when executed by a processor.
[0036] In a fifth aspect, the present application provides a computer program product, comprising a computer program, and the computer program implements the steps of the method in any one of the above embodiments when executed by a processor.
[0037] The above call scheduling method, device, equipment, medium and program product, obtain the to-be-processed list data; assign a corresponding workflow to the to-be-processed list data, the workflow comprising a trigger node, an intent node and a behavior node, and the trigger node comprising a dynamic time node; obtain an appointment time in the to-be-processed list data through the dynamic time node, and trigger processing of the to-be-processed list data based on the appointment time; obtain a shunt label value corresponding to the to-be-processed list data through the intent node, and determine a flow transfer branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intent node; and call a target call channel through the behavior node to process the to-be-processed list data, which can dynamically process the to-be-processed list data based on the appointment time in the to-be-processed list data, thereby dynamically processing customer demand, improving user experience, and avoiding response delay or strategy failure. BRIEF DESCRIPTION OF DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other related drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.
[0039] Figure 1 An application environment diagram of the call scheduling method in an embodiment;
[0040] Figure 2 A flowchart of the call scheduling method in an embodiment;
[0041] Figure 3 A flowchart of the call scheduling method based on the predictive call system in an embodiment;
[0042] Figure 4A flowchart of a process of adding a pre-test outbound call task processing step in an embodiment;
[0043] Figure 5 A structural block diagram of an outbound call scheduling device in an embodiment;
[0044] Figure 6 An internal structural diagram of a computer device in an embodiment. DETAILED DESCRIPTION
[0045] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application.
[0046] It should be noted that the terms "first", "second", etc. used in the present application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "include" and "have" used in the present application and any variations thereof are intended to cover non-exclusive inclusion. The term "multiple" used in the present application refers to two and more than two. The term "and / or" used in the present application refers to one of the options or any combination of multiple options.
[0047] The outbound call scheduling method provided by the embodiments of the present application can be applied in an application environment as shown in the figure. Figure 1 The terminal 102 communicates with the outbound call platform 104 through the network. The outbound call platform 104 can also communicate with the outbound execution server 106 corresponding to each outbound channel through the network. The data storage system can store the data required to be processed by the outbound call platform 104. The data storage system can be integrated on the outbound call platform 104, or placed on the cloud or other network servers.
[0048] In the outbound platform 104, any kind of workflow can be set to perform complex workflow conversion, which can include trigger nodes, intent nodes and behavior nodes, and the number of trigger nodes, intent nodes and behavior nodes is at least one. After the to-be-processed list data is transferred to the trigger node, the trigger node is triggered based on the configuration of the trigger node to start processing the to-be-processed list data, for example, the scheduled time in the to-be-processed list data is obtained through a dynamic time node, and the processing of the to-be-processed list data is triggered based on the scheduled time. Subsequently, the shunt label value corresponding to the to-be-processed list data is obtained through the intent node, and the shunt branch of the to-be-processed list data is determined based on the shunt label value and the shunt condition of the intent node; the target outbound channel is called through the behavior node to process the to-be-processed list data. In this way, the to-be-processed list data can be dynamically processed based on the scheduled time in the to-be-processed list data, so as to dynamically process the customer demand, improve the user experience, and avoid response delay or strategy failure.
[0049] In the workflow of the present application, the robot outbound, outbound strategy, and multiple channel reach are combined together to form an automatic workflow. In the outbound platform Calling, any kind of workflow can be flexibly created to perform complex workflow conversion. The workflow can not only realize the collection strategy chain, the Strategy of iCall, the robot outbound task, and the SMS / WA sending task, but also can realize the complex process that can be automated, has a longer time period, and is connected with each omni-channel capability by combining various nodes and components provided in the workflow.
[0050] The terminal 102 can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, unmanned aerial vehicles, low-altitude aerial vehicles, Internet of Things devices, and portable wearable devices. The Internet of Things device can be a smart speaker, a smart television, a smart air conditioner, a smart vehicle device, a projection device, etc. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, etc. The head-mounted device can be a virtual reality (VR) device, an augmented reality (AR) device, smart glasses, etc. The outbound platform 104 can be a standalone physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0051] In an exemplary embodiment, as shown in Figure 2 , a outbound scheduling method is provided. The outbound scheduling method is applied to the outbound platform 104 in Figure 1 for example, and includes the following steps S202 to S206.
[0052] S202: Obtain to-be-processed list data.
[0053] The to-be-processed list data can include at least one piece of list data, which can be identified by a contact method, for example, a mobile phone number, or other contact methods in other embodiments, which are not limited herein. Generally, the to-be-processed list data is generally a batch of data, including multiple pieces of list data.
[0054] S204: Assign a corresponding workflow to the to-be-processed list data, the workflow including a trigger node, an intent node, and a behavior node, and the trigger node including a dynamic time node.
[0055] S206: Obtain an appointment time in the to-be-processed list data through the dynamic time node, and trigger processing of the to-be-processed list data based on the appointment time; obtain a shunt label value corresponding to the to-be-processed list data through the intent node, and determine a flow branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intent node; call a target outbound call channel to process the to-be-processed list data through the behavior node.
[0056] Different to-be-processed list data can be assigned different workflows based on processing requirements, the workflow including a trigger node, an intent node, and a behavior node.
[0057] In the present application, any workflow can be configured in the outbound call platform. When configuring, a new workflow can be directly configured, or an existing workflow can be obtained and then configured. When configuring the workflow, the trigger node, intent node and behavior node described above can be configured, and each type of node includes at least one. After configuration is completed, the nodes are connected. In the workflow, the to-be-processed list data is processed in a streaming manner, that is, each list is the smallest unit running in the workflow process (node & connection). Unlike the call plan, a batch of lists are the smallest units running in the process. After the to-be-processed list data enters different types of nodes, different results will be obtained. After the to-be-processed list data enters the trigger node, it will stay in the trigger node. When the conditions set by the trigger node are met, the corresponding to-be-processed list data will be activated and enter the subsequent connection. After the to-be-processed list data enters the intent node, the condition judgment in the intent node will be immediately executed, and the corresponding to-be-processed list data will be released and enter different branch connections. After the to-be-processed list data enters the behavior node, the action corresponding to the behavior node will be executed in most cases (such as making a call, sending a message). The two nodes except for the predicted outbound execution node PDS and the robot outbound call node Voicebot CallKit will be executed. After the behavior node is completed, the to-be-processed list data will also be immediately released and enter the subsequent connection for continuous processing. After the process connection is processed, self-checking is performed. After the self-checking is successful, the generated workflow template is published to create a workflow task.
[0058] For example, a workflow task is created based on a workflow template, that is, the corresponding to-be-processed list data is assigned to the workflow template. During the execution of the to-be-processed list data, the execution progress of the task can also be viewed, for example, clicking a node will expand the node details on the right side. Each node will display the respective configuration details. The behavior node will also display the behavior execution result, such as the Voicebot Call will display the connection rate and the proportion of large label targets. After the to-be-processed list data enters the trigger node, and before the activation time, if it is desired to trigger early to start the process early, the “immediate trigger” button can be clicked to immediately execute the list transfer.
[0059] Specifically, the to-be-processed list data is assigned to the corresponding workflow, that is, the to-be-processed list data is assigned to the trigger node of the corresponding workflow to activate the to-be-processed list data and process the to-be-processed list data through the trigger node.
[0060] The trigger node is used to detect whether the to-be-processed list data meets the trigger condition of the trigger node. If yes, the trigger node triggers the processing of the corresponding list data.
[0061] The trigger nodes in the present application include at least one type, wherein the trigger nodes include dynamic time nodes, which can trigger subsequent processes based on the agreed time in the to-be-processed list data, for example, after the end of an outbound call, the subsequent process is triggered based on the agreed callback time in the outbound call process, which is the agreed time. The predetermined time can be obtained by obtaining the slot value in the outbound call process. The outbound call can be inbound marketing, also known as customer acquisition marketing, which is a process in which users make calls to obtain product information.
[0062] In other embodiments, the trigger nodes can also include time trigger, special time trigger, manual trigger, and slot trigger.
[0063] The time trigger can include the dynamic time node described above, and can also include absolute time node and relative time node.
[0064] The absolute time node is a mode based on absolute time to activate the corresponding to-be-processed list data, for example, at HH:MM on the Nth day (from the to-be-processed list data entering the time trigger node or from the to-be-processed list data being uploaded on the same day), the to-be-processed list data that has entered the time trigger node will be activated and enter the subsequent process.
[0065] The relative time node is a mode based on relative time to activate the corresponding to-be-processed list data, for example, after several hours or minutes on the Nth day (from the to-be-processed list data entering the time trigger node), the to-be-processed list data that has entered the node will be activated and enter the subsequent process.
[0066] In some optional embodiments, the trigger nodes also include special time trigger; the method further includes: determining whether the current time is a special time through the special time trigger, the special time including at least one of weekdays, weekends, statutory holidays, and custom holidays; in the case that the current time is a special time, the processing of the to-be-processed list data is suspended or continued.
[0067] The main role of the special time trigger node special time trigger is to pause the process on a specific date. Using this trigger, it can be determined whether the current date is a specific date when the to-be-processed list data enters the current node, so as to determine whether to pause for one day or continue to release. In other embodiments, the special time trigger node special time trigger can also be used to start some processes on a specific date, so that it can be determined whether the current date is a specific date when the to-be-processed list data enters the current node, and if so, the corresponding special time processing process is started.
[0068] The specific date needs to be managed in the "calendar management" module, mainly including working days, rest days, statutory holidays, and custom holidays. The working days, rest days, and statutory holidays are automatically generated by the system, and the custom holidays can be configured by the user. A day can be configured as a holiday, or some dates can be configured as a type of custom holiday.
[0069] The manual trigger node manual trigger is realized by manual triggering. For example, during the execution of the workflow task, the to-be-processed list data that has entered the node is clicked to trigger the subsequent process. The to-be-processed list data can also be set to be notified in the iCall notification center after entering the node for a certain period of time, for example, if the to-be-processed list data is not triggered within the preset time after entering the manual trigger node, a notification is sent to remind the user to trigger in time.
[0070] The slot trigger node slot trigger is based on the slot value determined in the last outbound process to activate the to-be-processed list data entering the node. Specifically, the corresponding to-be-processed list data is activated according to the slot value time obtained after the robot talks to the customer. When using the slot trigger node slot trigger, it is necessary to select which outbound node or which type (time type / date type) of slot value of the WABA Chatbot to obtain, that is, the slot value needs to be configured in advance to determine the accurate time. For example, when the marketing robot first contacts the customer, the customer indicates that he / she is not available to answer the call and wants to be called in N hours. In this case, the slot trigger node slot trigger is used in the workflow, and the accurate time of the slot value is set to activate or activate the list in advance / deferred.
[0071] The intent node is used to identify the shunt label of the to-be-processed list data, and determine the flow branch of the to-be-processed list data based on the shunt label value and the shunt condition of the intent node.
[0072] The behavior node is used to call a target outbound call channel to process the to-be-processed list data.
[0073] The outbound call scheduling method obtains to-be-processed list data, allocates a corresponding workflow for the to-be-processed list data, the workflow includes a trigger node, an intent node, and a behavior node, and the trigger node includes a dynamic time node; obtains an appointment time in the to-be-processed list data through the dynamic time node, and triggers processing of the to-be-processed list data based on the appointment time; obtains a shunt label value corresponding to the to-be-processed list data through the intent node, and determines a flow transfer branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intent node; and calls a target outbound call channel to process the to-be-processed list data through the behavior node. In this way, the to-be-processed list data can be dynamically processed based on the appointment time in the to-be-processed list data, so that customer demand is dynamically processed, user experience is improved, and response delay or strategy failure is avoided.
[0074] In some optional embodiments, the intent node includes a user latest intent node; obtaining a shunt label value corresponding to the to-be-processed list data through the intent node, and determining a flow transfer branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intent node includes: determining an upstream node of the intent node in the workflow; determining the shunt condition of the intent node based on a type of the upstream node; obtaining the shunt label value corresponding to the to-be-processed list data, and determining the flow transfer branch of the to-be-processed list data based on the shunt label value and the shunt condition.
[0075] The intent node at least includes a user latest intent node, and in other embodiments, the intent node can also include at least one of a custom attribute intent node, a brancher intent node, a link click node, a combination node, and a full-channel achievement node.
[0076] The user latest intent node can determine a corresponding shunt label value based on an upstream node, for example, in this application, the shunt condition of the intent node can be determined based on the upstream node, so that the corresponding shunt label value can be determined, the shunt label value can be determined based on the upstream node, and then the flow transfer branch of the to-be-processed list data is determined based on the shunt label value and the shunt condition.
[0077] The shunt label value can include at least one of a large label generated by a robot outbound call, an event label, a ringing classification, or a manual label in a predictive outbound call, or a large label and an event label generated by a Chatbot bound on a WABA template by a WABA template node.
[0078] In the process of configuring the workflow, after selecting the type of the upstream node, one of the nodes in the canvas can be selected as the upstream node, and the to-be-processed list data in the upstream node is transmitted to the user latest intention node User Latest Intention through the connection line, and the data is shunted in the user latest intention node according to the configuration; in the user latest intention node, composite AND or OR conditions can be supported, and of course, composite AND or OR conditions can also be realized by connecting at least two user intention nodes User Intention, which is not limited here.
[0079] In some optional embodiments, the shunting conditions of the intention node are determined based on the type of the upstream node, including: in the case that the upstream node is a robot outbound call node, the shunting conditions are determined based on the label type in the robot outbound call node; the shunting conditions include at least one of the call type label shunting condition, the event shunting condition, and the ring classification shunting condition, and the logical relationship between the different shunting conditions configured is or; in the case that the upstream node is a short message sending node, the shunting conditions are determined based on the label type in the short message sending node, the shunting conditions include at least one of the call type label shunting condition and the event shunting condition, and the logical relationship between the different classification conditions configured is or; in the case that the upstream node is a predicted outbound call execution node, the shunting conditions are determined based on the type of the preset call result label in the predicted outbound call execution node.
[0080] The robot outbound call node Voicebot node can configure different shunting conditions based on the label type, for example, the label type thereof can include at least one of the call type label (which can also be referred to as a large label (such as A, B, C, etc.)), the event label, and the ring classification, so that the corresponding shunting conditions can include at least one of the call type label shunting condition, the event shunting condition, and the ring classification shunting condition, and the logical relationship between the different shunting conditions is or. The optional items of the large label and the event label are determined by the large label and the event label set in the robot of the upstream Voicebot node. In other embodiments, the label type in the robot outbound call node changes, and the corresponding shunting conditions can also change, and the label type in the robot outbound call node is not limited here, and a person skilled in the art can set it based on business needs.
[0081] The short message sending node can configure different distribution conditions based on the label type. For example, the label type can include at least one of a call type label (also referred to as a large label (such as A, B, C, etc.)) and an event label, so that the corresponding distribution conditions can include at least one of a call type label distribution condition and an event distribution condition, and the logical relationship between different distribution conditions is OR. The optional items of the large label and the event label are determined by the large label and the event label set on the Chatbot in the upstream WABA Chatbot node.
[0082] The prediction outbound execution node (PDS) determines the distribution condition based on the type of the call result label preset in the prediction outbound execution node. Different call result labels are not the same.
[0083] In some optional embodiments, if the upstream node is a prediction outbound execution node, the distribution label value corresponding to the to-be-processed list data is obtained based on the type of the distribution condition, including at least one of the following: in the case of a call success, generating a distribution label value based on a call label; in the case of a call failure and involving a voice mailbox, generating a distribution label value based on a processing result label of the voice mailbox; in the case of a call failure and no answer, generating a distribution label value based on each no-answer result label preset; in the case of a call failure and the contact answering but not communicating, generating a distribution label value based on a preset non-communication condition label; and in the case of a call failure and not dialing, generating a distribution label value based on a preset non-dialing condition label.
[0084] The call result includes call success, call failure and involving a voice mailbox, call failure and no answer, call failure and the contact answering but not communicating, and call failure and not dialing.
[0085] In the case of a call success, a distribution label value is generated based on a call label. In the case of multiple configured call labels (ACW) or a successful call but no ACW call label filled in, the distribution label value can only identify a call success. Therefore, in the case of a call success, a distribution label value can be generated based on multiple configured call labels, or the distribution label value only identifies a call success.
[0086] In the case of a failed call, a plurality of labels under the failed call success can be selected, for example, in the case of voice information, a label value is generated based on the processing result of the voice mailbox, wherein the processing result of the semantic information can include at least one of the following: a. PreG: predicted to voice mailbox, b. Voicemail: recognized to voice mailbox, c. VoicemailDetectedMessageDropped: recognized to voice mailbox, left message and hung up.
[0087] In the case of a failed call and no answer, a label value can be generated based on a plurality of preset no-answer result labels, wherein the no-answer result label includes at least one of the following: Unknown, Normal, Busy, Not in Use, Hold, Switched Off, Out of Area, Invalid, and Wrong Number.
[0088] In the case of a failed call and no answer, a label value can be generated based on a plurality of preset no-answer result labels, wherein the no-answer result label includes at least one of the following: Unknown, Normal, Busy, Not in Use, Hold, Switched Off, Out of Area, Invalid, and Wrong Number.
[0089] In the case of a failed call and no answer, a label value can be generated based on a plurality of preset no-answer result labels, wherein the no-answer result label includes at least one of the following: Unknown, Normal, Busy, Not in Use, Hold, Switched Off, Out of Area, Invalid, and Wrong Number.
[0090] In some optional embodiments, the intention node includes at least one of a link click node, a combination node, and a full-channel achievement node; the obtaining of the shunt parameter value corresponding to the to-be-processed list data through the intention node, and the determination of the flow branch of the to-be-processed list data based on the shunt parameter value and the shunt condition of the intention node include: in the case where the intention node is a link click node, determining the flow branch of the to-be-processed list data based on whether the link is clicked; in the case where the intention node is a combination node, determining a target label from the labels of the to-be-processed list data based on the label priority, and determining the flow branch of the to-be-processed list data based on the shunt condition corresponding to the target label; in the case where the intention node is a full-channel achievement node, obtaining the last outbound call result of the to-be-processed list data after the full-channel achievement node stays for a stay determination time, and determining the flow branch of the to-be-processed list data based on the last outbound call result.
[0091] The intention node can include at least one of a user latest intention node, a custom attribute intention node, a brancher intention node, a link click node, a combination node, and a full-channel achievement node. The user latest intention node is mainly introduced above, and the other intention nodes are introduced below.
[0092] The custom attribute intention node can select at least one of a list parameter, a system parameter, and a node parameter to control the to-be-processed list data to enter a corresponding branch process.
[0093] The list parameter includes gender or a custom parameter uploaded by a customer, etc.; the system parameter includes a list upload time and whether the current date is a holiday; and the node parameter includes a DPD of an uploaded list and an operation parameter. The above is only for illustration, and a corresponding parameter can be set based on needs by a person skilled in the art.
[0094] Specifically, at least one of the following cases is included:
[0095] Adjusting the dialing strategy of the current day according to the list upload time: for a list whose upload time is earlier than 10:00 of the current day, using robot 1 to dial; and for a list whose upload time is later than 10:00 of the current day, using robot 2 to dial.
[0096] Cross-day dialing strategy in a collection scenario: positioning the position of the list in the workflow sub-process according to the DPD of the uploaded list, and rolling the list of the previous day into the second day as the DPD changes.
[0097] According to the list parameters to shunt: such as according to gender, different robots are used to follow up, female robot A is used to dial, male robot B is used to dial; The user uploaded custom parameters are judged, such as new and old customers, joint debts, credit levels, logistics order status, penalties, etc. As long as the parameters are helpful to the segmentation strategy, they can be included in the workflow to apply.
[0098] According to the operation parameters to shunt: such as in the collection scene, after the first telephone contact with the customer, if the customer promises to repay, the promised repayment time is obtained, and different follow-up strategies are used according to the difference between the promised repayment time and the current time. For example, if the difference between the promised repayment time and the current time is greater than 7 days, in order to ensure that the customer repays on time, another follow-up robot can be used to remind the customer not to forget to repay 3 days after the customer promises to repay.
[0099] According to whether the current date is a holiday to shunt: such as some customers have different dialing strategies on holidays than on non-holidays, so you can judge whether the day is a holiday before dialing, and then proceed with the subsequent process.
[0100] The brancher intent node is used to realize personalized AB experiments through the brancher, and can also be combined with other combination nodes to realize AB experiments based on specific conditions.
[0101] Among them, the combination node is used to control which type of list enters the corresponding branch process, and in turn to realize or set personalized AB experiments; For example, the last time the customer was not reached by the outbound call, but in the previous day's communication with the robot, the customer expressed positive willingness, so the outbound call is initiated again at 8 pm; Or send a text message again to the customer who has not clicked the text message link within a certain time; Or different customer groups (new / old customers, men / women, high / medium / low credit levels) enter different branch processes.
[0102] Link click node can be used to determine whether the short link in the text message / WA sent to the user is clicked, and the combination of user text message click behavior is realized through this node.
[0103] The combination node can prioritize the de-duplication of multiple robot outbound calls or Chatbot large tag results, and the highest priority large tag of a list is used as the final result for flow transfer, and multiple shunt conditions can be set.
[0104] The WABA Template node can be selected as an upstream node in the all-channel outcome node (and the SMS / WA Message / Mail node can be supported later), and the node stays for a judgment time after the list entry node, and then the WABA Template message is sent according to the sending result of the list at that time.
[0105] The judgment time of the message state is 0 days 1 hour 0 minutes by default, and the judgment logic is that after the selected WABA template node is executed to send, the system will check whether the message sending state meets the selected state within the set time period from the entry of the to-be-processed list data into the node. If the message state meets the requirement, the to-be-processed list data continues to flow, otherwise the to-be-processed list data cannot continue to flow.
[0106] For example, after sending a WABA message to a customer, it is hoped that a WABA message will be sent again to remind the customer if the customer does not read the message or the message sending fails. The judgment time is set according to experience, for example, if the WABA message state is still 'delivered','sent' or'sending failed' within 6 hours of sending the first WABA message, a WABA message will be sent again; if the WABA message state is not 'delivered','sent' or'sending failed' (i.e. the state is'read' or'replied') within 6 hours of sending the first WABA message, no further follow-up will be performed.
[0107] The above embodiments give various forms of intent nodes and corresponding processing methods, which combine the data of channels such as short message, outbound call and chat robot, and automatically trigger the subsequent process based on user behavior (such as link click and message reading state).
[0108] In some optional embodiments, in combination with Figure 3 as shown, Figure 3 is a flowchart of an outbound call scheduling method based on a prediction outbound call system in an embodiment, which includes the following steps in the embodiment:
[0109] S302: Obtain to-be-processed list data.
[0110] The to-be-processed list data can include at least one list data, which can be identified by a contact method, for example, identified by a mobile phone number, and in other embodiments, can be identified by other contact methods, which are not limited here. Generally, the to-be-processed list data is generally a batch of data including multiple list data.
[0111] S304: Assign a corresponding workflow to the to-be-processed list data, the workflow at least including a behavior node.
[0112] The definition of the to-be-processed list data, the workflow, and the behavior node can be referred to the above, and will not be repeated here.
[0113] S306: In the case that the behavior node is a predictive outbound execution node and the to-be-processed list data flows to the predictive outbound execution node, a predictive outbound execution task corresponding to the to-be-processed list data is created, and an end time of the predictive outbound execution task is generated based on an end time of the predictive outbound execution node.
[0114] In combination with the above, the behavior node includes the predictive outbound execution node, and in the case that the to-be-processed list data flows to the predictive outbound execution node, a predictive outbound execution task corresponding to the to-be-processed list data is created, and the predictive outbound execution task is sent to a predictive outbound execution task system for processing. Specifically, the predictive outbound execution node transmits the to-be-processed list data to the corresponding predictive outbound execution task system.
[0115] The parameters set by the predictive outbound execution task system and the predictive outbound execution task node can be the same, including a seat group or a seat performing the task, a seat ACW (After Call Work) time, a transfer seat reason, a dialing mode, a task latest end time, a contact template, a multi-contact dialing strategy, a redial strategy (a redial interval and a maximum redial number of an unanswered phone), a rest strategy, an automatic quality inspection strategy, a voice mailbox strategy, a batch maximum list number (for example, the default value is 100, representing that a PDS task is generated every 100 lists, which can be modified to be larger or smaller), and the like. The parameters can be configured and modified by manual.
[0116] S308: Based on the end time of the predictive outbound execution task, the predictive outbound execution task is processed.
[0117] The end time of the predictive outbound execution node is the end time of the task processed by the predictive outbound execution node, for example, whether to end automatically on the same day, so that the predictive outbound execution task has an end time. When the predictive outbound execution task is created, the autoEndTime field has a definite value, the date is the same day as the task creation time, and the time is the time set on the node.
[0118] In this way, when the end time of the predictive outbound execution task is reached, the predictive outbound execution task is ended, that is, whether the workflow is ended or not, the predictive outbound execution task is ended, and the to-be-processed list data is continued to flow down based on the execution result of the predictive outbound execution task, so that the situation that the predictive outbound execution task has not been ended but the workflow has been ended is avoided.
[0119] In the above embodiments, the following steps are taken: First, a list of entities to be processed is acquired. Second, a corresponding workflow is assigned to the list of entities to be processed, and the workflow includes at least a behavior node. Third, if the behavior node is a predicted outbound call execution node, and the list of entities to be processed is transferred to the predicted outbound call execution node, a predicted outbound call execution task corresponding to the list of entities to be processed is created, and an end time for the predicted outbound call execution task is generated based on the end time of the predicted outbound call execution node. Fourth, the predicted outbound call execution task is processed based on its end time. This configuration of an end time for the pre-test outbound call task ensures that the pre-test outbound call task can end in a timely manner and continue to the next stage, guaranteeing processing accuracy.
[0120] In some optional embodiments, the method further includes: adding the new list of pending data to the predictive outbound call execution task when the new list of pending data flows to the predictive outbound call execution node and the predictive outbound call execution node has unfinished predictive outbound call execution tasks; and generating a new predictive outbound call execution task when the new list of pending data flows to the predictive outbound call execution node and the predictive outbound call execution node has no unfinished predictive outbound call execution tasks.
[0121] In one optional embodiment, the method further includes: when new pending list data flows to the predictive outbound call execution node, and the predictive outbound call execution node has unfinished predictive outbound call execution tasks, waiting for a preset time, and generating a new predictive outbound call execution task for the new pending list data after the preset time.
[0122] For ease of understanding, the following is combined Figure 4 As shown, if the first generated predictive outbound call execution task is not completed, the pending list data in the new predictive outbound call execution task will automatically enter the first predictive outbound call execution task; if the first generated predictive outbound call execution task has been completed, the pending list data in the new predictive outbound call execution task will create a new predictive outbound call execution task.
[0123] The newly generated predictive outbound call execution task continues to be executed, and if there is a new predictive outbound call execution task, the pending list data in the new predictive outbound call execution task will be automatically transferred to the unfinished predictive outbound call execution task; if the new predictive outbound call execution task has been completed, the pending list data in the new predictive outbound call execution task will create a new predictive outbound call execution task.
[0124] The preset time is the batch waiting time, with a default value of 5 minutes, meaning that a PDS task will be generated after a maximum wait of 5 minutes. In other embodiments, the batch waiting time can be other values, which are not specifically limited here and can be modified to be larger or smaller.
[0125] If the first generated predictive outbound execution task is not completed, in order to avoid too much to-be-processed list data in a task, a preset time can be waited, and then after the waiting of the preset time, a new predictive outbound execution task is generated for new to-be-processed list data.
[0126] In some optional embodiments, the method further comprises: in the case that the workflow corresponding to the to-be-processed list data stops execution, stopping execution of the predictive outbound execution task corresponding to the to-be-processed list data; in the case that the predictive outbound execution task is completely completed and there is no other node after the predictive outbound execution node, stopping the predictive outbound execution task and the workflow; in the case that the predictive outbound execution task has no dialing within a preset time length, the predictive outbound execution task is ended and there is no other node after the predictive outbound execution node, stopping the predictive outbound execution task and the workflow; in the case that the end time of the workflow is reached, stopping the predictive outbound execution task and the workflow.
[0127] In the present application, the end logic of the workflow and the end logic of the predictive outbound execution task are adjusted, which specifically comprises:
[0128] 1) When the workflow workflow ends, that is, stops execution, the predictive outbound execution task that has not been cancelled or ended is cancelled, that is, ended, and all subsequent processes are stopped.
[0129] 2) The automatic end logic of the workflow workflow (in the case that the set workflow end time is not reached) comprises: the phone end dimension callback of the predictive outbound execution task to the workflow workflow, and the end dimension callback of the predictive outbound execution task to the workflow workflow. After the phone of the predictive outbound execution task is completely completed and there is no new process, the automatic end logic of the workflow workflow is executed, and all generated predictive outbound execution tasks are ended; if the phone of the predictive outbound execution task has not been dialled at all, after the predictive outbound execution task is ended, and there is no other process for the to-be-processed list data in the workflow workflow, the automatic end logic of the workflow workflow is executed, and all generated predictive outbound execution tasks are ended.
[0130] 3) When the set workflow workflow end time is reached, there are still list processes not completed in the workflow workflow, such as the phone of the predictive outbound execution task not being dialled completely or the predictive outbound execution task not being ended, the workflow workflow is directly ended, and all generated predictive outbound execution tasks are ended.
[0131] In some optional embodiments, the method further comprises: in a case where the predicted outbound execution task end time is earlier than the workflow end time, detecting a predicted outbound execution task dialing result; and in a case where the dialing result is that no call is completely dialed, setting the state of the to-be-processed list data as an undialed state.
[0132] Specifically, if the predicted outbound execution task end time is earlier than the workflow end time, after receiving the predicted outbound execution task end callback, the workflow needs to query the dialing result in the predicted outbound execution task to determine whether there is a call that is completely undialed, and if so, the state of the to-be-processed list data is set as an undialed state, for example, as “unsuccessful call”, “undialed”-“Others”.
[0133] In some optional embodiments, the method further comprises: determining a predicted outbound execution task start time based on the time at which the to-be-processed list data flows to the predicted outbound execution node; and in a case where the predicted outbound execution task end time is earlier than the predicted outbound execution task start time, outputting an alarm information.
[0134] Since the predicted outbound execution task start time is determined by the time at which the to-be-processed list data flows to the predicted outbound execution node, this time is dynamic, and it is possible to set the end time earlier than the start time. When the workflow is running, if such a situation is encountered, an alarm is given when the predicted outbound execution task is created.
[0135] In some optional embodiments, the behavior node further comprises at least one of a robot outbound node, a man-machine collaboration node, a first short message sending node, an API configuration node, an email sending node, and a second short message sending node; the robot outbound node processes the to-be-processed list data to create an outbound task and executes the outbound task based on the list quantity and batch waiting time; the man-machine collaboration node executes the outbound task by a robot and triggers a manual switching mechanism in the process of executing the outbound task to execute the outbound task by a human; the first short message sending node sends a pre-generated first short message before outbound; and / or the first short message sending node obtains a behavior tag value based on an upstream node, generates a first short message based on the behavior tag value, and sends the first short message generated based on the behavior tag value; the API configuration node calls the outbound result information of the outbound task based on a callback address; the email sending node sends a pre-generated email before outbound; and / or the email sending node obtains a behavior tag value based on an upstream node, generates an email based on the behavior tag value, and sends the email generated based on the behavior tag value; and the second short message sending node obtains a behavior tag value based on an upstream node, generates a second short message based on the behavior tag value, and sends the second short message.
[0136] The behavior node carries the omni-channel capability; the robot outbound call, the sending of short messages / WhatsApp messages, the predictive outbound call system, social media, instant messaging software, and email services are applied through the behavior node.
[0137] The robot outbound call node creates an outbound call task to actually perform the outbound call after creating the robot outbound call node. When creating the outbound call task, there are two parameters to control the number of lists per outbound call task: the maximum number of lists per batch (Maximum Number of Lists Per Batch), which is assumed to be 500 by default, representing that 500 lists will be accumulated to generate an outbound call task. In other embodiments, the default value can be modified to be larger or smaller. The other parameter is the batch wait time (Wait Time Per Batch), for example, the default value is 1 minute, representing that an outbound call task will be generated after waiting for a maximum of 1 minute. In other embodiments, it can be modified to be larger, which is not specifically limited here.
[0138] When the intelligent outbound call is performed through the man-machine cooperation node, the transfer to human mechanism is triggered during the robot and user conversation, and the call can be transferred to the human agent in real time (recommended to use the AICC human agent system). The timing and transfer to which human agent are configured on the robot.
[0139] The first short message sending node corresponds to the first short message including short messages and WA information, and the short messages / WA can be sent through this type of node. The short messages / WA can contain short links. You can send short messages / WA before outbound call or set a timing short message / WA (such as sending a short message / WA after 1 hour of outbound call). The SMS / WA Message can support filling variables and upstream Voicebot call / WABA-Chatbot nodes according to the selected template. The upstream node can be a robot outbound call node, which means that after the outbound call is completed, if the slot value is obtained during the conversation, the slot value content will be filled into the short message content for sending.
[0140] It should be noted that, since the slot is not necessarily obtained during the robot conversation process, if the slot is not obtained, the configuration of the slot will be kept as it is (slot. xxx}; Therefore, a customized attribute intent node Customized Attributes node can be added before the SMS / WA Message node to ensure that the slot has a value before entering the SMS / WA Message node); It is also possible that the second short message sending node, such as the WABA-Chatbot node, represents the end of the user's communication with the Chatbot, and if the slot value is passed during the communication process, the slot value content will be filled into the short message content for sending in the subsequent short message sending. Wherein a customized attribute intent node Customized Attributes node is added before the SMS / WA Message node to ensure that the slot has a value before entering the SMS / WA Message node.
[0141] The API configuration node can configure the API callback address. The present application supports the information callback address of the robot outbound call result, and configures the custom callback data. When adding or editing the API node, the url needs to be verified. If the verification is passed, it can be saved; If the verification fails, it cannot be saved; When verifying, the simulation data will be pushed to the URL provided by the customer; When the verification fails, please send the response code and message to the customer for processing.
[0142] The mail sending node is similar to the first short message sending node in processing mode, which will not be described here.
[0143] The second short message sending node is a WABA node. After the user communicates with the Chatbot, the robot can output a large label or event label in the communication process. If follow-up needs to be performed according to different large labels or event labels, a user latest intention node User Latest Intention or a combination node Combination can be added after the WABA node. The WABA node also supports variables and slot values, and the format of the slot values and the variables is consistent with that of the SMS / WA Message node. The slot value format is {slot.xxx}, and xxx is a slot position name configured on the robot. If the template contains a slot value, the configuration node needs to select an upstream node. The upstream node can be a Voicebot Call node representing an outbound call. If a slot value is obtained during the call, the slot value content is filled into the WABA template message content for sending in the subsequent WABA template message sending. Since the slot position can not be obtained during the robot call, if the slot position is not obtained, the slot position configuration remains unchanged (slot.xxx) when the WABA template message is sent. Therefore, a customized attribute intention node Customized Attributes can be added before the WABA template node to ensure that the slot position has a value before entering the WABA node. The upstream node can also be a WABA-Chatbot node representing that the user communicates with the Chatbot. If a slot value is obtained during the communication, the slot value content is filled into the WABA template message content for sending in the subsequent WABA template message sending. The customized attribute intention node Customized Attributes also needs to be added before the WABA template node to ensure that the slot position has a value before entering the WABA node.
[0144] The WABA node can also bind a service agent or an agent group. After selecting the agent, the list enters the node, and the WABA template message sending task is performed. If the user replies to the message, the Chatbot bound by the template is triggered. If the Chatbot judges that the user needs to be transferred to a manual agent after the communication, the agent / agent group of the AICC system bound by the robot is transferred, or other agent / agent group is transferred.
[0145] It should be understood that although each step in the flowchart involved in the above embodiments is shown in sequence according to the arrow, the steps are not necessarily executed in the order indicated by the arrow. Unless otherwise specified herein, the execution of the steps is not strictly limited in sequence, and the steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in the above embodiments can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of the steps or stages is not necessarily sequential, but can be alternately executed with other steps or steps or stages in other steps. It can be understood that the steps in different embodiments can be freely combined as needed, and various non-contradictory schemes formed by the combination are within the scope of protection of the present application.
[0146] Based on the same inventive concept, the embodiments of the present application also provide an outbound call scheduling device for implementing the above-mentioned outbound call scheduling method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more outbound call scheduling device embodiments provided below can refer to the limitations of the outbound call scheduling method in the above text, which will not be repeated here.
[0147] In an exemplary embodiment, as shown in Figure 5 An outbound call scheduling device is provided, comprising: a list data acquisition module 501, an allocation module 502, and a scheduling module 503, wherein:
[0148] The list data acquisition module 501 is configured to acquire to-be-processed list data;
[0149] The allocation module 502 is configured to allocate a corresponding workflow to the to-be-processed list data, the workflow comprising a trigger node, an intent node, and a behavior node, and the trigger node comprising a dynamic time node;
[0150] The scheduling module 503 is configured to acquire an appointment time in the to-be-processed list data through the dynamic time node, and trigger processing of the to-be-processed list data based on the appointment time; acquire a shunt tag value corresponding to the to-be-processed list data through the intent node, and determine a flow transfer branch of the to-be-processed list data based on the shunt tag value and a shunt condition of the intent node; and call a target outbound call channel through the behavior node to process the to-be-processed list data.
[0151] In some optional embodiments, the trigger node further comprises a special time trigger node; the scheduling module 503 is further configured to determine whether the current time is a special time through the special time trigger node, the special time comprising at least one of a weekday, a weekend day, a statutory holiday, and a self-defined holiday; and in a case where the current time is the special time, the processing of the to-be-processed list data is paused or continued.
[0152] In some optional embodiments, the intent node comprises a user latest intent node; the scheduling module 503 is further configured to determine an upstream node of the intent node in the workflow; determine a shunt condition of the intent node based on a type of the upstream node; obtain a shunt label value corresponding to the to-be-processed list data, and determine a flow branch of the to-be-processed list data based on the shunt label value and the shunt condition.
[0153] In some optional embodiments, the scheduling module 503 is further configured to, in a case where the upstream node is a robot outbound call node, determine the shunt condition based on a label type in the robot outbound call node; the shunt condition comprises at least one of a call type label shunt condition, an event shunt condition, and a ringing shunt condition, and a logical relationship between different shunt conditions configured is or; in a case where the upstream node is a short message sending node, determine the shunt condition based on a label type in the short message sending node, the shunt condition comprising at least one of a call type label shunt condition and an event shunt condition, and a logical relationship between different classification conditions configured is or; in a case where the upstream node is a predicted outbound call execution node, determine the shunt condition based on a type of a preset call result label in the predicted outbound call execution node.
[0154] In some optional embodiments, the scheduling module 503 is further configured to obtain a shunt label value corresponding to the to-be-processed list data based on a type of the shunt condition in any of the following manners: in a case where the call result is a call success, generating the shunt label value based on a call label; in a case where the call result is an unsuccessful call and involves a voice mailbox, generating the shunt label value based on a processing result label of the voice mailbox; in a case where the call result is an unsuccessful call and no answer, generating the shunt label value based on preset each no-answer result label; in a case where the call result is an unsuccessful call and the contact person answers but does not communicate, generating the shunt label value based on a preset non-communication situation label; and in a case where the call result is an unsuccessful call and no dialing, generating the shunt label value based on a preset non-dialing situation label.
[0155] In some optional embodiments, the intention node comprises at least one of a link click node, a combination node, and a full-channel achievement node; the scheduling module 503 is further configured to, in a case where the intention node is the link click node, determine the flow branch of the lead data based on whether the link is clicked; in a case where the intention node is the combination node, determine a target label from the labels of the lead data based on a label priority, and determine the flow branch of the lead data based on a shunt condition corresponding to the target label; and in a case where the intention node is the full-channel achievement node, after a stay determination time of the full-channel achievement node, obtain a last outbound call result of the lead data, and determine the flow branch of the lead data based on the last outbound call result.
[0156] The modules in the outbound call scheduling apparatus can be implemented in whole or in part by software, hardware, or a combination thereof. The modules can be embedded in or independent of a processor in a computer device in hardware form, or stored in a memory in the computer device in software form, so as to be called and executed by a processor to perform operations corresponding to the modules.
[0157] In an exemplary embodiment, a computer device, which can be a server, is provided, and an internal structure diagram of the computer device can be as shown in Figure 6 The computer device includes a processor, a memory, an input / output interface (I / O), and a communication interface. The processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for running the operating system and the computer program in the non-volatile storage medium. The database of the computer device is configured to store lead data. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to communicate with terminals outside through a network connection. The computer program is executed by the processor to implement an outbound call scheduling method.
[0158] Those skilled in the art can understand that Figure 6 The structure shown in the above
[0159] In an embodiment, a computer device is also provided, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0160] In an embodiment, a computer readable storage medium is provided, which stores a computer program, and the computer program is executed by a processor to implement the steps in the above method embodiments.
[0161] In an embodiment, a computer program product is provided, comprising a computer program, and the computer program is executed by a processor to implement the steps in the above method embodiments.
[0162] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiment methods. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., without being limited thereto.
[0163] The technical features of the above embodiments can be combined in any manner. To make the description concise, all possible combinations of the technical features in the above embodiments are not described, but as long as the combinations of the technical features do not exist contradictions, they should be considered as the scope of the present application.
[0164] The above-described embodiments are merely illustrative of several embodiments of the present application, which are described in more detail and in a specific manner, but should not be construed as limiting the scope of the patent of the present application. It should be noted that, for those of ordinary skill in the art, several modifications and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. An outbound call scheduling method, characterized by, The method comprises: acquiring to-be-processed list data; allocating a corresponding workflow to the to-be-processed list data, the workflow comprising a trigger node, an intention node and a behavior node, and the trigger node comprising a dynamic time node; acquiring an appointment time in the to-be-processed list data through the dynamic time node, and triggering processing of the to-be-processed list data based on the appointment time; acquiring a shunt label value corresponding to the to-be-processed list data through the intention node, and determining a flow transfer branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intention node; calling a target outbound call channel to process the to-be-processed list data through the behavior node.
2. The method of claim 1, wherein, The trigger node further comprises a special time trigger node; the method further comprises: determining whether the current time is a special time through the special time trigger node, the special time comprising at least one of a working day, a rest day, a statutory holiday and a self-defined holiday; in the case where the current time is the special time, suspending or continuing processing of the to-be-processed list data.
3. The method of claim 1, wherein, The intention node comprises a user latest intention node; the acquisition of the shunt label value corresponding to the to-be-processed list data through the intention node and the determination of the flow transfer branch of the to-be-processed list data based on the shunt label value and the shunt condition of the intention node comprise: determining an upstream node of the intention node in the workflow; determining the shunt condition of the intention node based on the type of the upstream node; acquiring the shunt label value corresponding to the to-be-processed list data, and determining the flow transfer branch of the to-be-processed list data based on the shunt label value and the shunt condition.
4. The method of claim 3, wherein, The determination of the shunt condition of the intention node based on the type of the upstream node comprises: in the case where the upstream node is a robot outbound call node, determining the shunt condition based on a label type in the robot outbound call node; the shunt condition comprises at least one of a call type label shunt condition, an event shunt condition and a ringing shunt condition, and the logical relationship between the configured different shunt conditions is or; in the case where the upstream node is a short message sending node, determining the shunt condition based on a label type in the short message sending node, the shunt condition comprising at least one of a call type label shunt condition and an event shunt condition, and the logical relationship between the configured different shunt conditions is or; in the case where the upstream node is a predicted outbound call execution node, determining the shunt condition based on the type of a preset call result label in the predicted outbound call execution node.
5. The method of claim 4, wherein, The acquisition of the shunt label value corresponding to the to-be-processed list data based on the type of the shunt condition comprises at least one of: in the case where the call result is a call success, generating a shunt label value based on a call label; in the case where the call result is a call failure involving a voice mailbox, generating a shunt label value based on a processing result label of the voice mailbox; in the case where the call result is a call failure without an answer, generating a shunt label value based on a preset each no-answer result label; In a case where the call result is an unsuccessful call and the contact answers but no communication is made, a shunt label value is generated based on a preset no-communication condition label; In a case where the call result is an unsuccessful call and no dialing is made, a shunt label value is generated based on a preset no-dialing condition label.
6. The method of claim 1, wherein, The intent node includes at least one of a link click node, a combination node, and a full-channel achievement node; the shunt parameter value corresponding to the to-be-processed list data is obtained through the intent node, and the flow branch of the to-be-processed list data is determined based on the shunt parameter value and the shunt condition of the intent node, including: In a case where the intent node is a link click node, whether the link is clicked is determined to determine the flow branch of the to-be-processed list data; In a case where the intent node is a combination node, a target label is determined from the labels of the to-be-processed list data based on a label priority, and the flow branch of the to-be-processed list data is determined based on the shunt condition corresponding to the target label; In a case where the intent node is a full-channel achievement node, after a stay determination time of the full-channel achievement node, a last outbound call result of the to-be-processed list data is obtained, and the flow branch of the to-be-processed list data is determined based on the last outbound call result.
7. An outbound call scheduling apparatus, characterized by comprising: The device includes: a list data acquisition module configured to acquire to-be-processed list data; an assignment module configured to assign a corresponding workflow to the to-be-processed list data, the workflow including a trigger node, an intent node, and a behavior node, and the trigger node including a dynamic time node; a scheduling module configured to acquire an appointment time in the to-be-processed list data through the dynamic time node, and trigger processing of the to-be-processed list data based on the appointment time; acquire a shunt label value corresponding to the to-be-processed list data through the intent node, and determine a flow branch of the to-be-processed list data based on the shunt label value and a shunt condition of the intent node; and call a target outbound call channel through the behavior node to process the to-be-processed list data.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method of any one of claims 1 to 6.
9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 6.
