pub enum HookTrigger {
Show 16 variants
Schedule {
cron: String,
timezone: Option<String>,
},
Interval {
seconds: u64,
},
DateTime {
at: DateTime<Utc>,
},
Daily {
times: Vec<String>,
},
Webhook {
path: String,
method: Option<String>,
},
FileChange {
path: String,
events: Vec<FileEvent>,
recursive: bool,
},
EmailReceived {
account: String,
filters: Option<EmailFilters>,
},
CalendarEvent {
calendar_id: String,
event_type: CalendarEventType,
minutes_before: Option<i32>,
},
MessageReceived {
platform: String,
channel: Option<String>,
from: Option<String>,
contains: Option<String>,
},
GitEvent {
repo: String,
events: Vec<GitEventType>,
},
SystemEvent {
event: SystemEventType,
},
DeviceEvent {
device_id: String,
state_change: Option<String>,
},
Location {
latitude: f64,
longitude: f64,
radius_meters: u32,
on_enter: bool,
on_exit: bool,
},
Manual,
Chain {
hook_id: String,
},
AgentRequest {
agent_name: Option<String>,
},
}Expand description
Trigger types that can activate a hook
Variants§
Schedule
Cron schedule (e.g., “0 9 * * *” for 9 AM daily)
Interval
Interval (e.g., every 30 minutes)
DateTime
Specific datetime
Daily
Recurring at specific times
Webhook
Webhook received
FileChange
File system change
EmailReceived
Email received
CalendarEvent
Calendar event
MessageReceived
Message received (Slack, Discord, etc.)
GitEvent
Git event
SystemEvent
System event
Fields
§
event: SystemEventTypeDeviceEvent
Smart home device event
Location
Location-based trigger
Manual
Manual trigger (user-initiated)
Chain
Chain trigger (activated by another hook)
AgentRequest
Agent request
Trait Implementations§
Source§impl Clone for HookTrigger
impl Clone for HookTrigger
Source§fn clone(&self) -> HookTrigger
fn clone(&self) -> HookTrigger
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HookTrigger
impl Debug for HookTrigger
Source§impl<'de> Deserialize<'de> for HookTrigger
impl<'de> Deserialize<'de> for HookTrigger
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
Auto Trait Implementations§
impl Freeze for HookTrigger
impl RefUnwindSafe for HookTrigger
impl Send for HookTrigger
impl Sync for HookTrigger
impl Unpin for HookTrigger
impl UnwindSafe for HookTrigger
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more