Skip to content

Add Message

v1.0.1Updated

The Add Message operator injects a single message into a LOPs conversation table. Set a role (user, assistant, or system), enter or wire in text, toggle ‘Insert’ on, and the message appears in the output table. Commonly used to prepend system prompts, append user input, or build conversations from scratch before sending them to a Chat or Agent operator.

  • Input 1 (Conversation Table DAT, optional): An existing conversation to build on. Must have columns: role, message, id, timestamp. Enable ‘Use Input Conversation’ to include it in the output
  • Input 2 (Text DAT, optional): A DAT whose text content becomes the message body. Enable ‘Text From Dat [ in2 ]’ to use it instead of the ‘Message to Inject’ parameter
  • Output (Conversation Table DAT): The resulting conversation table containing any input conversation plus the injected message. Columns: role, message, id, timestamp
  1. Wire your existing conversation table into the first input
  2. Toggle ‘Use Input Conversation’ to On
  3. Set ‘Message Role’ to system
  4. Enter your system prompt in ‘Message to Inject’
  5. Toggle ‘Insert’ to On
  6. Wire the output to your Chat or Agent operator
  1. Leave ‘Use Input Conversation’ off — no input wire needed
  2. Set ‘Message Role’ to user
  3. Enter your message in ‘Message to Inject’
  4. Toggle ‘Insert’ to On
  5. The output contains a single-message conversation ready to wire downstream
  1. Connect a Text DAT to the second input
  2. Toggle ‘Text From Dat [ in2 ]’ to On
  3. The DAT’s full text content is used as the message body, ignoring the ‘Message to Inject’ field
  4. This is useful for long prompts or dynamically generated text
  1. Wire an existing conversation into the first input and enable ‘Use Input Conversation’
  2. Set ‘Inject Location’ to index
  3. Set ‘Insert Index’ to the row position where the message should appear
  4. Toggle ‘Insert’ to On — the message is inserted at that position, shifting later messages down

You can also set ‘Inject Location’ to start to always prepend the message before all existing messages, or leave it as end (default) to append after them.

  • Chain multiple Add Message operators to build multi-turn conversations — wire each output into the next input with ‘Use Input Conversation’ enabled
  • Each operator auto-generates a unique ‘Inject ID’ on creation, which tags the message for tracking downstream. You can set a custom ID if needed
  • When ‘Insert’ is off, the operator still passes through the input conversation (if enabled) without adding a message — useful for conditionally injecting
  • Use ‘Inject Location’ set to start when prepending system prompts to an existing conversation
Insert (Insert) op('add_message').par.Insert Toggle
Default:
False
Message Role (Role) op('add_message').par.Role Menu
Default:
user
Options:
user, assistant, system
Message to Inject (Message) op('add_message').par.Message Str
Default:
"" (Empty String)
Text From Dat [ in2 ] (Fromin2) op('add_message').par.Fromin2 Toggle
Default:
False
Use Input Conversation (Useinput) op('add_message').par.Useinput Toggle
Default:
False
Inject Location (Location) op('add_message').par.Location Menu
Default:
end
Options:
end, start, index
Insert Index (Index) op('add_message').par.Index Int
Default:
0
Range:
0 to 1
Slider Range:
1 to 1
Inject ID (Injectid) op('add_message').par.Injectid Str
Default:
"" (Empty String)
Header
v1.0.12026-02-28
  • Implement Inject Location parameter (start/index/end) for message insertion position
  • Initial commit
v1.0.02025-01-13

Initial release