Skip to main content
PUT
/
api
/
v1
/
insights
/
workflows
/
{workflow_id}
Python (SDK)
import os
from syllable_sdk import SyllableSDK
from syllable_sdk.utils import parse_datetime


with SyllableSDK(
    api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:

    res = ss_client.insights.workflows.update(workflow_id=673493, insight_workflow_input={
        "name": "summary-workflow",
        "source": "agent",
        "description": "Default workflow - generates a summary of the call",
        "insight_tool_ids": [
            1,
        ],
        "conditions": {
            "min_duration": 120,
            "max_duration": 600,
            "sample_rate": 0.1,
            "agent_list": [
                866324,
                826325,
            ],
            "prompt_list": [
                "123324",
            ],
            "folder_list": [
                16754,
                67535,
            ],
            "sheet_info": {
                "sheet_id": "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go",
                "sheet_name": "Q1 Sales Data",
            },
        },
        "start_datetime": parse_datetime("2025-12-03T00:00:00Z"),
        "end_datetime": parse_datetime("2025-12-04T00:00:00Z"),
    })

    # Handle response
    print(res)
{
  "name": "<string>",
  "source": "<string>",
  "description": "<string>",
  "insight_tool_ids": [
    123
  ],
  "conditions": {
    "min_duration": 120,
    "max_duration": 600,
    "sample_rate": 0.1,
    "agent_list": [
      866324,
      826325
    ],
    "prompt_list": [
      "123324"
    ],
    "folder_list": [
      16754,
      67535
    ],
    "sheet_info": {
      "sheet_id": "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go",
      "sheet_name": "Q1 Sales Data"
    }
  },
  "id": 123,
  "insight_tools": [
    {
      "name": "<string>",
      "description": "<string>",
      "version": 123,
      "tool_arguments": "<unknown>",
      "insight_tool_definition_id": 123,
      "id": 123,
      "last_updated_by": "<string>",
      "insight_tool_definition": {
        "id": 123,
        "name": "<string>",
        "type": "<string>",
        "description": "<string>",
        "tool_parameters": "<unknown>",
        "tool_result_set": "<unknown>"
      },
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  ],
  "status": "<string>",
  "estimate": {
    "backfill_count": 123,
    "backfill_duration": 123,
    "estimated_daily_count": 123,
    "estimated_daily_duration": 123,
    "estimated_daily_cost": 123,
    "estimated_backfill_cost": 123
  },
  "last_updated_by": "<string>",
  "start_datetime": "2025-12-10T00:00:00Z",
  "end_datetime": "2025-12-11T00:00:00Z",
  "queue_count": 10,
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Syllable-API-Key
string
header
required

Path Parameters

workflow_id
integer
required

Body

application/json

Request model to create/update an insight workflow.

name
string
required

Human-readable name of insight workflow

source
string
required

Source of the workflow

description
string
required

Text description of workflow

insight_tool_ids
integer[]
required

Ordered list of IDs of tool configurations to be executed in the workflow

conditions
InsightWorkflowCondition · object
required

Conditions (filters) on which a workflow should be triggered.

start_datetime
string<date-time> | null

Target session timestamp the workflow (backfill) should start. An empty value indicates start on activation - live sessions only

Example:

"2025-12-10T00:00:00Z"

end_datetime
string<date-time> | null

Target session timestamp the workflow (backfill) should end. An empty value indicates no end, i.e., include live sessions until deactivation

Example:

"2025-12-11T00:00:00Z"

Response

Successful Response

Response model for an insight workflow.

name
string
required

Human-readable name of insight workflow

source
string
required

Source of the workflow

description
string
required

Text description of workflow

insight_tool_ids
integer[]
required

Ordered list of IDs of tool configurations to be executed in the workflow

conditions
InsightWorkflowCondition · object
required

Conditions (filters) on which a workflow should be triggered.

id
integer
required

Internal ID of the insight workflow

insight_tools
InsightToolOutput · object[]
required

List of insight tool configurations used in the workflow

status
string
required

Status of the insight workflow

estimate
InsightWorkflowEstimate · object
required

Estimate of the number of calls that will be processed by the workflow and their cost

last_updated_by
string
required

Email of user who last updated Insight Workflow

start_datetime
string<date-time> | null

Target session timestamp the workflow (backfill) should start. An empty value indicates start on activation - live sessions only

Example:

"2025-12-10T00:00:00Z"

end_datetime
string<date-time> | null

Target session timestamp the workflow (backfill) should end. An empty value indicates no end, i.e., include live sessions until deactivation

Example:

"2025-12-11T00:00:00Z"

queue_count
integer | null

Number of calls in the workflow queue (pending or processing)

Example:

10

created_at
string<date-time>

Timestamp at which the insight workflow was created

updated_at
string<date-time>

Timestamp of most recent update to the insight workflow