LLM: generate text
Use LLM: generate text to ask a Claude model for a short piece of text mid-journey, then reuse it in a later push, email, or SMS. This point authenticates with its own Anthropic API key. It doesn’t use any account-level integration configured elsewhere in Settings.
Typical uses:
- Personalize a message line: draft a one-line hook from a traveler’s tags, then drop it into the next push or email with Dynamic Content.
- Summarize before sending: turn a few tags, such as last order or browsing category, into a short natural-language line a template can display.
- Vary the wording: ask for a slightly different phrasing on each run so travelers don’t see identical text every time they pass through.
Configure the point
Anchor link to- Drag LLM: generate text from the Integrations section of the left panel onto the canvas.
- Double-click the point and enter a Step Name.
- In Anthropic API key, enter your Anthropic API key. It’s stored masked, like a webhook secret header.

-
In Model, choose the Claude model to use. Defaults to claude-haiku-4-5.
- claude-haiku-4-5: answers fastest.
- claude-sonnet-5: a middle option between Haiku and Opus.
- claude-opus-5: slower than the other two, but still finishes within the point’s 10-second timeout. Costs more per token than Sonnet or Haiku.
Every call bills your own Anthropic key for every traveler who reaches this step.

- In Prompt, write what you want the model to generate. It takes the same macros as any Webhook body, for example
{{device:hwid}}.

- Click Save.
Responses are capped at about 300 tokens (roughly a short paragraph) to keep the request inside the Webhook timeout. Ask for something that short. A longer or more detailed prompt doesn’t get more room to answer.
Response
Anchor link toThe traveler continues to whatever step you connect next on the canvas.
Attributes after the step runs
Anchor link to| Attribute | What it holds |
|---|---|
llm_text | The generated text |
llm_input_tokens | Token count for the request’s input |
llm_output_tokens | Token count for the request’s output |
How to use llm_text in later steps
Anchor link to- Drop it into a push, email, or SMS: use Dynamic Content.
- Branch on it with Condition split: save it to a Tag first with Update user profile, then split on that Tag.
Failures and unexpected responses
Anchor link toA failed request drops the traveler from the journey. See Errors and failed requests.
A response that comes back but isn’t what you expected keeps the traveler in the journey:
- Text cut off at the 300-token cap:
llm_textholds the truncated text. - Model declined to answer:
llm_textholds whatever it replied with instead.
Example scenario: Personalizing a re-engagement push with Claude
Anchor link toA team wants a lapsed user’s re-engagement push to open with a one-line personalized hook instead of generic copy.
- Add a Trigger-based entry element and set it to fire on a
UserLapsedevent. - Add LLM: generate text right after it. In Prompt, write
Write one short, upbeat sentence inviting {{tag:Name}} back, mentioning they browsed {{tag:Last Category}}. - Add a Push step right after it. In the message editor, click Personalization and insert
llm_textinto the push text.
Once this runs, each lapsed user gets a push that opens with a line Claude generated for them, instead of the same static copy for everyone.