user_email) or hands off to a Human Agent.
This lets your external system validate permissions against real identity: that a customer is refunding their own order, editing their own account, or reading their own data.
The model
For each input on an integration action or integration lookup, you pick how the value is filled:- Auto (default): the AI Agent fills the input from the conversation.
- Static: a fixed value you set.
- A context variable: the value of a declared variable, taken from this conversation.
Trusted paths per channel
A value is trusted only when it arrived through a verified path. The path depends on the channel.- Chat widget: variables your backend signs as a JWT (passed in
twConfig.signedVariables) are trusted. Unsigned values intwConfig.variablesare not. See Chat identity verification. - Email: only the sender’s address is verified, and only after proof of
receipt. Typewise confirms the sender received a prior response before
treating their address as
user_email.
Runtime behavior
When a Trusted only input can’t be satisfied, the outcome depends on which variable is missing.user_email triggers customer verification (email reply or a one-time code on chat). Any other variable hands off to a Human Agent. See the
full table.
The Trusted only check is not a substitute for permission checks in your
integration. A “Refund order” tool must still confirm the user_email has
access to the order_id. Typewise guarantees only that the value is
trustworthy.
See also
- Context Variables: declare context variables and customize action and lookup inputs
- AI actions: configure automated actions
- Manual actions: human-executed actions
- Integrations: connect third-party services