# `Wardrik.Trigger`

Asks an agent something without anyone typing. A trigger fires:

  * on a schedule, `every` cron expression or interval, read in `timezone`
  * when one of its `feed` URLs has new entries
  * when a service sends its `webhook` a request

See the Trigger agents guide.

# `t`

```elixir
@type t() :: %Wardrik.Trigger{
  every: term(),
  feed: term(),
  jitter: term(),
  missed: term(),
  name: term(),
  overlap: term(),
  prompt: term(),
  prompt_file: term(),
  timezone: term(),
  webhook: term()
}
```

# `from_json`

```elixir
@spec from_json(map()) :: t()
```

Builds one from the protocol's JSON.

# `to_json`

```elixir
@spec to_json(t()) :: map()
```

Returns it as the protocol's JSON, without fields that are `nil`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
