How to set up and use Conversation Memory
Conversation Memory enables the AI to maintain context across multiple workflow runs, allowing more natural, continuous interactions between users and your Workflows. This is useful for long-running conversations across channels like Slack or Email, where users often follow up with additional questions. By remembering past interactions, your Agents can deliver more personalized, accurate, and context-aware responses without asking users to repeat information.
This feature is available for certain blocks:
Follow these steps:
Edit the action: In this example, we'll configure a Generate Text action that's already been added to your Workflow. Click the action to open its settings, then navigate to the "Conversation Memory" section.
Choose your memory option: Select from three available memory settings based on your use case:
No Memory: Each Workflow run is independent, with no shared context between executions. This is the default setting and is ideal when you want each run to be completely separate.
Single Conversation: All Workflow runs share the same conversation thread, maintaining context across every execution. Use this when you want continuous context across all Workflow runs.
*For this example, we’ll enable “Single Conversation” in a Slack message integration workflow. If you need help setting up the Slack trigger, refer to the related guides: Connecting to Slack and Slack Message Trigger.
When you select the “Single Conversation” option, three sections become active in the Generate Text block: “System Instruction”, “User Prompt”, and “Conversation Memory”.
System Instruction: Use this field to define instructions that should stay consistent throughout the conversation. This can include the assistant’s role, tone, response style, or any rules it should always follow.
User Prompt: Use this field to pass in the user’s question or request that should be processed during each Workflow run.
Conversation Memory: Once “Single Conversation” is selected, Conversation Memory is automatically enabled for this block.
Keyed Conversation (Advanced): Reuse conversation history using a custom key or ID, such as a ticket ID, email thread ID, customer name, or any other identifier. This allows you to maintain separate conversation threads for different contexts while keeping related runs connected. This is particularly useful for customer support scenarios, where each customer should have their own conversation history.
*For this example, we’ll enable “Keyed Conversation (Advanced)” in a “Send Email with Gmail” integration workflow. If you need help setting up the Gmail trigger, refer to the related guides: Send Email with Gmail and New Email Received in Gmail Trigger.
When you select the “Keyed Conversation (Advanced)” option, along with the “System Instruction”, “User Prompt”, and “Conversation Memory” sections, another section becomes active: “Conversation Memory Key”.
Conversation Memory Key: Specify a custom key or ID (customer name, email thread ID, ticket ID, etc.) to be used to group conversations. You can reference variables from previous steps or the trigger to dynamically set the conversation key. Each unique key creates its own conversation thread. Runs with matching keys continue the same conversation.
Below "Conversation Key", there are two more options for you to consider: "Update Conversation History", "Share Across Workflows".
Update Conversation History: Turn this on to save each new response to the conversation. When turned off, it reads history, but doesn't add to it.
Share Across Workflows: Turn this on to allow other workflows to access this conversation using the same key.
Publish your changes: After selecting your “Conversation Memory” option, the setting will be automatically applied to your action. Now, “Publish” the updates, and the triggers will immediately start using these changes.
