Semarize

Enterprise Automation

Enterprise Call Analysis Automation with Workato

A practical guide to building enterprise-grade transcript analysis Recipes in Workato. Connect your call recording platform to the Semarize API using HTTP connectors, extract structured scores and signals, and route results to your CRM, Slack (via Workbot), or enterprise systems - with IT governance, audit logging, and recipe lifecycle management.

What you'll learn

  • How the Trigger → HTTP Action (Semarize sync) → Conditional → Destination pattern works in Workato Recipes
  • How to configure Workato’s HTTP connector to call the Semarize /v1/runs endpoint with enterprise authentication
  • Why sync mode is recommended for Workato and how to configure retry policies for resilience
  • Five enterprise Recipe templates — deal scoring with approval workflows, multi-region compliance, executive reporting, CRM enrichment with governance, and Workbot-powered Slack alerts
  • Advanced patterns: recipe lifecycle (dev/test/prod), on-prem agent, Connector SDK, error handling, and audit trail integration

Context

Why Workato for Enterprise Call Analysis

Workato is the right choice when your call analysis automation needs enterprise governance, compliance controls, and IT-managed infrastructure. It's not the fastest tool for prototyping - but when the pipeline needs to be auditable, governed, and production-grade, Workato is built for exactly that.

Workato strengths

Enterprise governance - SOC 2 Type II, HIPAA, GDPR compliant
Role-based access control (RBAC) for recipes and connections
Recipe lifecycle management - dev, staging, production
On-prem agent for hybrid deployments behind firewalls
Built-in error handling with configurable retry policies
Audit logging for every recipe run and data access

Consider alternatives when

Rapid prototyping - Zapier is faster to set up Zapier
Cost-sensitive with low volume - enterprise pricing may be overkill Zapier
Complex visual branching - Make's Router is more intuitive Make
Self-hosted / open-source requirement n8n
Sales-specific data enrichment workflows Clay

For enterprise teams with IT governance requirements, Workato provides the controls that lighter platforms lack. Every recipe run is audited, every connection is managed, and every deployment follows a controlled lifecycle. The trade-off is setup complexity - plan for a more involved initial configuration in exchange for long-term operational confidence.

Architecture

How Workato + Semarize Works

Every Workato Recipe with Semarize follows a five-stage enterprise pattern: a trigger fires when a new call is available, the transcript is sent to the Semarize API via HTTP connector, the response is parsed with Workato formulas, conditional logic routes results based on business rules, and destination actions update your enterprise systems - all with error handling and audit logging.

1. Trigger

What starts the Recipe. A new call recording, CRM event, or scheduled batch trigger.

Salesforce, Gong, Webhook, Scheduler

2. Analyse

HTTP connector sends the transcript to Semarize. Sync mode returns results inline.

POST /v1/runs with mode: "sync"

3. Parse

Workato formulas extract brick values from the JSON response. Map to datapills.

response['output']['bricks']

4. Condition

Conditional actions route based on scores, flags, and business rules.

IF risk_flag == true, ELSE ...

5. Destination

Update CRM, send Workbot alerts, log to compliance DB, trigger approvals.

Salesforce, Workbot, ServiceNow

Example Recipe flow
Trigger: Salesforce
Opportunity Stage Changed
App: Salesforce
Event: Updated Record
Filter: Stage = Qualification
Output: transcript__c, opp_id
HTTP Action
POST /v1/runs (sync)
Connection: Semarize API (HTTP)
Method: POST
URL: https://api.semarize.com/v1/runs
Auth: Bearer smz_live_...
Body: { kit_code, mode: "sync", input: { transcript } }
Response returned inline
Conditional Action
IF risk_flag == true AND score < 50
Yes → Create Approval Request
No → Update Salesforce directly
Salesforce - Update Record
Write AI signals to Opportunity
Object: Opportunity
AI_Score__c: {{overall_score}}
Risk_Flag__c: {{risk_flag}}
Pain_Point__c: {{pain_point}}

Why sync mode?

Workato's HTTP action supports longer timeouts than most platforms (configurable up to 120 seconds), but sync mode is still the simplest pattern. Use mode: "sync" so results return directly in the HTTP response. Most transcripts under 60 minutes complete in 1-5 seconds. For async patterns, use Workato's webhook trigger to receive results when runs complete.

Setup Guide

Build Your First Recipe: Step-by-Step

This walkthrough covers everything you need to create a Workato HTTP connection to the Semarize API, build a Recipe, and route structured output to a destination - with enterprise best practices at every step.

1

Create an HTTP Connection for the Semarize API

In Workato, go to App Connections and create a new connection using the HTTP connector (Universal adapter). Configure the base URL and authentication.

Connection settings

Connection nameSemarize API (Production)
Connection typeCloud
Base URLhttps://api.semarize.com
Auth typeHeader auth
Header nameAuthorization
Header valueBearer smz_live_...

Enterprise considerations

Use environment properties for API keys - never hardcode in recipes
Create separate connections for dev, staging, and production
Enable connection sharing for team-wide access
Set up connection monitoring alerts
Test the connection before proceeding. Workato will verify the base URL is reachable and the auth header is accepted.
2

Create a new Recipe and choose your trigger

Create a new Recipe in your development workspace. Choose a trigger based on where your call recordings originate.

SalesforceUpdated RecordOpportunity with transcript field
GongNew Call RecordingVia Gong connector
WebhookNew EventFor any system that can POST
SchedulerRecurring scheduleBatch processing pattern
WorkbotNew commandOn-demand from Slack/Teams
Custom connectorVariesBuilt with Connector SDK
3

(Optional) Fetch the transcript if your trigger doesn't include it

Some triggers provide a call ID rather than the transcript text itself. Add an HTTP GET action to fetch the transcript from your recording platform's API before sending it to Semarize.

GET https://api.gong.io/v2/calls/{callId}/transcript
Authorization: Bearer {gong_api_key}

Skip this step if your trigger already provides the full transcript text as a datapill.

4

Add the HTTP Action for Semarize API

Add an Action step using the HTTP connection you created in Step 1. Select Send request and configure the POST to the Semarize /v1/runs endpoint.

HTTP action settings

ConnectionSemarize API (Production)
Request typePOST
Request URL/v1/runs
Content-Typeapplication/json
Response typeJSON

Request body

HTTP Action body
{
"kit_code": "YOUR_KIT_CODE",
"mode": "sync",
"input": {
"transcript": {{Transcript datapill}}
}
}
Where to find your credentials: Generate an API key at Settings API Keys in the Semarize app. Copy the Kit code from your Kit's settings page.
5

Parse the response with Workato formulas

The Semarize API returns structured JSON. Workato automatically creates datapills from the response schema. For deeper extraction, use Workato's formula mode with Ruby-like hash navigation.

Datapill paths

output.bricks.{name}.valueThe evaluated value
output.bricks.{name}.confidenceConfidence score (0-1)
output.bricks.{name}.evidenceSupporting quotes
statusShould be "succeeded"
duration_msProcessing time

Workato formula examples

Formula mode extraction
# Extract score as integer
response['output']['bricks']
['overall_score']['value'].to_i
# Check if risk flag is present
response['output']['bricks']
['risk_flag']['value'].present?
6

Add conditional routing and destination actions

Use Workato's conditional (IF/ELSE) actions to route results based on business rules. Map the extracted brick values to fields in your destination systems.

Salesforce - Update Opportunity

AI_Score__c, Risk_Flag__c, Pain_Point__c

Workbot for Slack - Post message

Structured alert with interactive buttons

ServiceNow - Create Approval

Triggered when risk_flag is true

Snowflake / BigQuery - Insert Row

call_id, date, score, risk, signals

7

Test in staging, then promote to production

Test the Recipe in your development workspace with sample transcripts. Verify each step produces expected output. Then promote through your lifecycle:

Run the Recipe manually with a test transcript in the development workspace
Verify the HTTP action returns 200 with status: "succeeded"
Confirm brick values are parsed correctly (check for null/undefined datapills)
Validate conditional routing sends to the correct branch
Verify destination systems receive the mapped values
Promote to staging for QA validation with production-like data
After staging approval, promote to production and enable the Recipe

API Reference

API Request & Response Details

A deeper look at what you're sending and receiving when the HTTP action in your Workato Recipe calls the Semarize API.

Request

POST /v1/runs
// POST https://api.semarize.com/v1/runs
// Authorization: Bearer smz_live_...
// Content-Type: application/json
{
"kit_code": "discovery_quality_v2",
"mode": "sync",
"input": {
"transcript": "Rep: Hi Sarah, thanks for..."
}
}

Response (200)

Sync response
{
"run_id": "run_8f3a...",
"status": "succeeded",
"duration_ms": 1200,
"output": {
"bricks": {
"overall_score": { "value": 72, "confidence": 0.94 },
"risk_flag": { "value": false, "confidence": 0.91 },
"pain_point": { "value": "Losing 3 hrs/week...", ... }
}
}
}

Brick value types & Workato formulas

TypeExample brickExample valueWorkato formula
Numeric (score)overall_score72.to_i
Boolean (flag)risk_flagfalse.is_true?
Text (extraction)pain_point"Losing 3 hrs/week...".to_s
Categoricalcall_stage"discovery".present?
Sync fallback: If a sync-mode run exceeds ~30 seconds, Semarize returns 202 with sync_fallback: true and a run_id. The run is still processing - you would need to poll GET /v1/runs/:runId for the result. Workato's longer timeout (120s) makes this less likely than on other platforms. For most transcripts under 60 minutes, sync completes well within the timeout.

Templates

Enterprise Recipe Templates

Five enterprise-grade Recipe patterns for common call analysis workflows. Each template demonstrates governance features like approval workflows, audit logging, RBAC, and recipe lifecycle management.

Deal Scoring Pipeline with Approval Workflow

Score calls, flag risks, route to manager approval before CRM update

Governance

Bricks used

overall_score = 38risk_flag = truerisk_reason = "budget unconfirmed"decision_maker = absent

Every call gets an automatic score. When a risk is detected (score below 50, risk_flag true), the Recipe routes to a manager approval step before updating the CRM. Clean calls skip approval and update Salesforce directly.

Trigger: Salesforce Semarize IF risky Approval CRM
Approval Request - Deal Risk Review

High Risk Deal Flagged

Deal: Acme Corp - Enterprise Renewal

AI Score: 38 / 100

Risk: Budget not confirmed, decision maker absent

Rep: James K.

SM

Sarah M. - Sales Director

Assigned via RBAC role: sales_manager

SLA: Respond within 4 hours | Auto-escalate after timeout

Multi-Region Compliance Monitoring

On-prem agent for data sovereignty, audit log for every check

Compliance

Bricks used

disclosure_given = trueconsent_obtained = trueprohibited_language = trueregion = "EU"

For regulated industries across multiple regions. Transcripts are routed through Workato's on-prem agent when they contain PII. Every compliance check is logged to an immutable audit trail. Violations trigger escalation workflows.

On-prem agent Semarize Audit log Escalation
Audit Log - Recipe #4,217
14:32:18[INFO]Recipe triggeredEvent: opportunity.stage_changed
14:32:19[INFO]HTTP POST /v1/runsStatus: 200 OK - 1,180ms
14:32:19[INFO]Compliance checkSOC 2 audit log entry created
14:32:20[WARN]Risk flag detectedscore: 38, risk_flag: true
14:32:20[WARN]Approval request createdAssigned to: Sarah M. (Sales Director)
14:32:21[INFO]Salesforce updatedOpportunity.AI_Score__c = 38

Retention: 365 days | Exported to SIEM: Yes

Sales Enablement Executive Reporting

Aggregate scores into executive dashboards via Snowflake/BigQuery

Bricks used

overall_score = 72talk_ratio = 0.65question_count = 8next_steps = true

Every call appends a row to Snowflake or BigQuery with structured signals. Executive dashboards in Tableau or Looker pull from this data. Aggregated weekly reports show team-level call quality trends without anyone listening to recordings.

Trigger: Any recording Semarize Snowflake Tableau
Recipe - Deal Scoring Pipeline

Trigger

New Salesforce Opportunity - Stage changed

HTTP Action

POST /v1/runs - Semarize sync analysis

Conditional

IF risk_flag == true AND score < 50

Action

Create Approval Request - Manager review

Action

Update Salesforce - AI Score, Risk Flag

Recipe run #4,217 completed in 3.2s

CRM Enrichment with Governance Controls

RBAC-managed recipe, staged deployment, connection sharing

RBAC

Governance features

Recipe editable only by automation_admin role
Semarize connection shared (read-only) to team
Environment properties per workspace (dev/prod keys)
Recipe promoted through lifecycle gates

Standard CRM enrichment pattern, but with full governance. Only admins can edit the recipe. Credentials are managed centrally. Every deployment goes through approval.

Recipe Lifecycle - Deal Scoring Pipeline
D

Development

v3.2

Testing with sample data

PROMOTE
S

Staging

v3.1

QA validation in progress

PROMOTE
P

Production

v3.0LIVE

Processing 200+ calls/day

Last promotion: v3.0 → Production · 3 days ago by admin@acme.com

Workbot-Powered Slack Alerts

IT-managed bot notifications with interactive buttons

Workbot

Bricks used

overall_score = 81pain_point = "manual reporting"next_steps = "security review"

Workbot delivers structured call analysis alerts to Slack or Microsoft Teams. Unlike a simple webhook, Workbot is IT-managed - the bot is installed and governed centrally. Messages include interactive buttons to view in CRM, trigger follow-up recipes, or acknowledge the alert.

Trigger: Any Semarize Workbot #deal-intelligence
#deal-intelligence
WorkbotAPP2:34 PM

Call Analysis Complete

Deal: Beta Inc - Platform Migration

Score: 81 / 100

Pain: Manual reporting takes 6 hrs/week

Next Steps: Security review scheduled

Advanced

Advanced Workato Patterns

Beyond the basic Recipe - enterprise patterns for lifecycle management, data sovereignty, custom connectors, and production-grade error handling.

Recipe lifecycle management (dev/test/prod)

Workato supports multiple workspaces for recipe development, testing, and production. Each workspace has its own connections, environment properties, and access controls. Promote recipes through the lifecycle with full audit trails.

Development

Build and iterate. Use test API keys. Only automation engineers have access.

Staging

QA validation. Production-like data. Security team reviews before promotion.

Production

Live recipes processing real calls. Read-only for most team members. Monitored 24/7.

On-prem agent for data sovereignty

When call recordings live behind a corporate firewall, Workato's on-prem agent creates a secure tunnel. The agent runs on your infrastructure and proxies requests through Workato's cloud to the Semarize API without exposing your internal network.

Install the on-prem agent on a server with access to your recording storage
Configure the agent to allow outbound HTTPS to Workato's agent gateway
Mark the HTTP connection as "On-prem" to route through the agent
Transcripts flow: On-prem storage → Agent → Workato cloud → Semarize API → Workato → Destination

Connector SDK for a custom Semarize connector

Build a first-class Semarize connector using Workato's Connector SDK. This gives your team a reusable, IT-approved integration with predefined actions and triggers.

Connection

Base URL + Bearer token auth, with test endpoint validation

Action: Run Kit

Preconfigured POST /v1/runs with kit_code picker and mode toggle

Action: Get Run

GET /v1/runs/:runId for async result retrieval

Trigger: Run Completed

Webhook trigger for run.completed events from Semarize

Error handling with Monitor blocks and dead letter queues

Workato's Monitor block (try/catch pattern) wraps actions with error handling. Failed recipe runs can route to dead letter queues for manual review and replay.

Wrap the HTTP action in a Monitor block to catch 4xx/5xx errors gracefully
Configure retry policies: 3 retries with exponential backoff for 5xx and timeout errors
Route persistent failures to a dead letter table (Airtable, Snowflake, or Workato's job history)
Send error notifications via Workbot to #automation-alerts with error details and recipe run link
Check for sync_fallback: true in the response - use a secondary action to poll GET /v1/runs/:runId

Batch processing with collections

Workato's "Repeat for each" action processes lists natively - no workarounds needed. Use a scheduled trigger to query your recording platform for the day's calls, then iterate through each transcript with a Semarize API call. Unlike Zapier (which fires a separate Zap per item), Workato handles the entire batch in a single recipe run, making it more cost-effective and easier to monitor at scale.

Audit trail integration

Workato automatically logs every recipe run, action, and data access. For regulated industries, export audit logs to your SIEM (Splunk, Datadog, etc.) using Workato's built-in audit log streaming. Every Semarize API call, response, and downstream action is tracked with timestamps, user context, and connection details - meeting SOC 2 Type II, HIPAA, and GDPR audit requirements.

Watch out for

Common Challenges & Gotchas

These are the issues that come up most often when enterprise teams build call analysis automation in Workato.

HTTP connector configuration complexity

Workato's HTTP connector requires explicit configuration of authentication schemes, request/response content types, and TLS settings. Unlike simpler tools, each connection needs a full schema definition. Plan 15-20 minutes for initial HTTP connector setup.

Formula syntax learning curve

Workato formulas use Ruby-like syntax (e.g., .to_i, .present?, .pluck). If your team is used to JavaScript (Zapier) or Jinja (Make), expect a ramp-up period. Workato's formula mode documentation is essential reading.

Recipe versioning and rollback

Workato tracks recipe versions automatically, but rolling back a production recipe requires careful coordination. Always test changes in a development workspace first, and use the recipe lifecycle (dev → staging → prod) to avoid surprises.

Testing in staging environments

Workato's staging environment uses separate connections. Make sure your staging Semarize API key and Kit codes mirror production exactly, or you'll get false test results. Use environment properties to manage credentials per workspace.

Connection credential management

Each Workato connection stores credentials independently. When rotating Semarize API keys, you must update every HTTP connection that references the old key. Use shared connections or environment properties to centralize credential management.

On-prem agent configuration

The on-prem agent requires Java 8+ and a persistent network connection to Workato's cloud. Firewall rules must allow outbound HTTPS to Workato's agent gateway. If the agent disconnects, queued recipe runs will retry but may timeout if the outage is prolonged.

Cost model differs from task-based platforms

Workato charges per recipe and per connection, not per task/run. High-volume use cases (1,000+ calls/day) may be more cost-effective than Zapier, but low-volume use cases may cost more due to the enterprise pricing floor.

IT approval and governance overhead

Workato's strength - IT governance - can slow down initial deployments. Expect approval workflows for new connections, recipe promotion gates, and security reviews. Build time for these processes into your project plan.

FAQ

Frequently Asked Questions

Explore

Explore Semarize