pub struct AuthField {
pub key: String,
pub label: String,
pub kind: String,
pub env_fallback: Option<String>,
pub help_url: Option<String>,
pub help: Option<String>,
pub required: bool,
}Expand description
One user-configurable field the integration needs before it can
operate. Declared in IntegrationSpec::auth; rendered by mnml’s
per-integration Settings pane; persisted to [auth_values] in
the same manifest TOML. Added in 0.7.0 (2026-08-11).
Example:
use mnml_bridge::AuthField;
let f = AuthField {
key: "bot_token".into(),
label: "Slack bot token".into(),
kind: "secret".into(),
env_fallback: Some("SLACK_BOT_TOKEN".into()),
help_url: Some("https://api.slack.com/apps".into()),
help: Some("Create a Slack app + install to workspace + copy the token.".into()),
required: true,
};Fields§
§key: StringKey the user’s answer is written under in [auth_values].
e.g. "bot_token".
label: StringHuman label rendered next to the input.
kind: StringOne of "secret" (masked in UI, keychain-backed in a future
mnml phase), "text", "number", "url", "email".
Default::default() returns "text" to match mnml core’s
default_kind() deserialize fallback — an unset kind on both
sides means “plain text field”.
env_fallback: Option<String>Env-var name to fall back to when [auth_values] doesn’t
have a stored value. Backward-compatibility hatch for
integrations whose users have already set $SLACK_BOT_TOKEN
etc. in their shell profile.
help_url: Option<String>One-line link rendered as “Get one:
help: Option<String>Short inline help sentence under the label.
required: boolWhen true, an integration action fired without a value here AND no env_fallback env var set triggers mnml’s first-hit auth prompt: the Settings pane opens instead of the action.