pub enum Action {
CreateInternalTask {
recommendation: Recommendation,
},
DraftCustomerMessage {
customer_id: CustomerId,
reason: FollowUpReason,
},
EscalateToManager {
reason: Observation,
},
SuggestScheduleReview {
risk: LaborRisk,
},
SuggestRevenueFollowUp {
opportunity: RevenueOpportunityKind,
},
}Expand description
Proposed action that remains draft/recommendation until the workflow gate approves it.
Variants§
CreateInternalTask
Create a staff task from brief evidence without taking external customer action.
Fields
§
recommendation: RecommendationRecommendation text/evidence used to create the internal task.
DraftCustomerMessage
Draft a customer message only; approval and channel rules still control sending.
Fields
§
customer_id: CustomerIdCustomer who would receive the drafted follow-up after approval.
§
reason: FollowUpReasonBusiness reason staff should review before proceeding.
EscalateToManager
Escalate source-backed concern to a manager before staff act.
Fields
§
reason: ObservationBusiness reason staff should review before proceeding.
SuggestScheduleReview
Suggest manager review of staffing or schedule coverage.
SuggestRevenueFollowUp
Suggest review-gated revenue follow-up rather than direct sales outreach.
Fields
§
opportunity: RevenueOpportunityKindRevenue opportunity to verify before any customer-facing offer.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Action
impl<'de> Deserialize<'de> for Action
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Action
impl StructuralPartialEq for Action
Auto Trait Implementations§
impl Freeze for Action
impl RefUnwindSafe for Action
impl Send for Action
impl Sync for Action
impl Unpin for Action
impl UnsafeUnpin for Action
impl UnwindSafe for Action
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more