Skip to content
Proud to collaborate with Microsoft for Startups

data.telegram.message.persist ​

Insert a TelegramMessage row recording one outbound message dispatch. Non-idempotent — each call creates a new row.

Insert a new TelegramMessage row recording one outbound dispatch.

Non-idempotent INSERT: every call creates a fresh row. The caller (typically a business workflow) is responsible for not calling this twice for the same send event.

Resolution chain: bot_uuid → TelegramBot (must exist, not deleted) chat_uuid → TelegramChat (must exist, not deleted, must belong to same bot) organization_id comes from bot.organization_id — not taken as input.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-telegram
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
bot_uuiduuidYes—UUID of the TelegramBot that sent the message
chat_uuiduuidYes—UUID of the TelegramChat the message was dispatched to
telegram_message_refintegerNo—Telegram integer message reference returned by sendMessage; null when status='failed' or message not yet sent
textstringNo—Message text body
parse_modestringNo—Telegram parse mode, e.g. 'MarkdownV2' or 'HTML'
statusstringYes—Dispatch status: 'pending'
error_reasonstringNo—Human-readable error description when status='failed'
workflow_run_idstringNo—Engine-stamped parent run id (DAG step target)

Output Schema ​

FieldTypeRequiredDefaultDescription
message_uuidstringYes—UUID of the newly inserted TelegramMessage row
statusstringYes—Echo of the input status
failure_reasonstringNo—Engine-stamped human-readable failure reason
failure_typestringNo—Engine-stamped failure category
failed_actionstringNo—Engine-stamped action that raised
failed_at_statestringNo—Engine-stamped state when the workflow failed
failed_stepstringNo—Engine-stamped step name (DAG path)
failed_layerstringNo—Engine-stamped layer index (DAG path)
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name
bot_uuiduuidNo—bot_uuid echoed from input for diagnostics
chat_uuiduuidNo—chat_uuid echoed from input for diagnostics

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—completeInsert TelegramMessage row
completedNoYesYes—Message row inserted
failedNoYesNo—Persist failed

State Diagram ​

Transitions ​

FromActionToDescription
pendingcompletecompleted—
pendingfailfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "data.telegram.message.persist",
  "initial_data": {
    "bot_uuid": "value",
    "chat_uuid": "value",
    "status": "value"
  }
}