πStandard Links
Links are the processing units of the Conserver. Each link performs a specific operation on a vCon as it flows through a chain. Links can analyze content, transform data, route vCons, integrate with external services, and more.
Link Interface
All links implement the same interface:
def run(vcon_uuid: str, link_name: str, opts: dict = default_options) -> str | None:
"""
Process a vCon through this link.
Args:
vcon_uuid: UUID of the vCon to process
link_name: Name of this link in the configuration
opts: Configuration options merged with defaults
Returns:
vcon_uuid: Continue processing with this vCon UUID
None: Stop chain processing (filter out this vCon)
"""Available Links
Transcription Links
These links convert audio recordings in vCon dialogs to text transcripts.
deepgram_link
Speech-to-text transcription using the Deepgram API with automatic language detection and confidence scoring.
DEEPGRAM_KEY
Deepgram API key
(required)
minimum_duration
Minimum audio duration in seconds to transcribe
30
api.model
Deepgram model to use
nova-2
api.smart_format
Enable smart formatting
true
api.detect_language
Enable automatic language detection
true
groq_whisper
Speech-to-text transcription using Groq's implementation of the Whisper ASR model.
GROQ_API_KEY
Groq API key
(required)
model
Whisper model to use
whisper-large-v3
minimum_duration
Minimum audio duration in seconds
3
hugging_face_whisper
Speech-to-text transcription using Hugging Face's Whisper implementation, supporting both API-based and local inference.
model
Hugging Face model identifier
openai/whisper-large-v3
minimum_duration
Minimum audio duration in seconds
3
openai_transcribe
Speech-to-text transcription using OpenAI's Whisper API or Azure OpenAI. Supports automatic chunking for long audio files.
OPENAI_API_KEY
OpenAI API key
(none)
AZURE_OPENAI_API_KEY
Azure OpenAI API key
(none)
AZURE_OPENAI_ENDPOINT
Azure OpenAI endpoint URL
(none)
model
Model to use
gpt-4o-transcribe
language
Language code
en
minimum_duration
Minimum audio duration in seconds
3
max_chunk_duration
Maximum chunk duration for splitting
480 (8 min)
use_silence_chunking
Split at silence points
true
silence_thresh
Silence threshold in dBFS
-40
silence_len
Minimum silence length in ms
2000
transcribe
Local transcription using the vCon library's built-in transcription capabilities.
transcribe_options.model_size
Model size
base
transcribe_options.output_options
Output format options
["vendor"]
Analysis Links
These links use AI to analyze and extract insights from vCon content.
analyze
OpenAI-powered analysis of vCon transcripts with customizable prompts, sampling, and retry mechanisms.
OPENAI_API_KEY
OpenAI API key
(required)
prompt
Analysis prompt
(required)
analysis_type
Type label for the analysis
summary
model
OpenAI model
gpt-3.5-turbo-16k
sampling_rate
Fraction of vCons to analyze (0-1)
1
temperature
Model temperature
0.3
source.analysis_type
Source analysis type to analyze
transcript
source.text_location
Path to text within source
body.text
analyze_vcon
AI analysis of entire vCon objects, returning structured JSON output.
OPENAI_API_KEY
OpenAI API key
(required)
system_prompt
System prompt for the model
(optional)
prompt
Analysis prompt
(required)
analysis_type
Type label for the analysis
vcon_analysis
model
OpenAI model
gpt-4-turbo
detect_engagement
Detects whether both parties actively engaged in a conversation.
OPENAI_API_KEY
OpenAI API key
(required)
prompt
Evaluation prompt
(engagement detection prompt)
analysis_type
Type label
engagement_analysis
model
OpenAI model
gpt-4.1
sampling_rate
Fraction to process
1
Adds an engagement tag with value true or false.
analyze_and_label
Combined analysis that extracts labels/categories and applies them as tags.
OPENAI_API_KEY
OpenAI API key
(required)
prompt
Label extraction prompt
(categorization prompt)
analysis_type
Type label
labeled_analysis
model
OpenAI model
gpt-4-turbo
response_format
Response format
{"type": "json_object"}
Returns JSON with labels array and applies each label as a tag.
check_and_tag
Evaluates a condition using AI and applies a tag if the condition is met.
OPENAI_API_KEY
OpenAI API key
(required)
tag_name
Tag name to apply
(required)
tag_value
Tag value to apply
(required)
evaluation_question
Question to evaluate
(required)
model
OpenAI model
gpt-5
hugging_llm_link
AI analysis using Hugging Face language models, supporting both API and local inference.
model
Hugging Face model identifier
(required)
prompt
Analysis prompt
(required)
analysis_type
Type label
hf_analysis
Routing and Filtering Links
These links control vCon flow through chains.
sampler
Selectively processes vCons based on various sampling methods.
method
Sampling method
percentage
percentage
Percentage to process (0-100)
100
rate
Process 1 out of N
1
modulo
Process if UUID modulo equals 0
1
Returns None for filtered vCons, stopping their chain processing.
jq_link
Filters vCons using jq expressions for complex content-based filtering.
expression
jq expression to evaluate
(required)
forward_on_match
Continue chain if expression matches
true
forward_list
Alternative ingress list for matches
(none)
tag_router
Routes vCons to different Redis lists based on their tags.
routes
List of routing rules
[]
routes[].tag_name
Tag name to match
(required)
routes[].tag_value
Tag value to match
(required)
routes[].destination
Destination Redis list
(required)
default_destination
Fallback destination
(none)
Data Management Links
These links modify vCon content.
tag
Adds configurable tags to vCons.
tags
List of tags to add
[]
tags[].name
Tag name
(required)
tags[].value
Tag value
(required)
diet
Reduces vCon size by removing or redirecting elements. Useful for data minimization and privacy.
remove_dialog_bodies
Remove dialog body content
false
remove_attachments
Remove all attachments
false
remove_analysis_types
Analysis types to remove
[]
redirect_media_to_storage
Move media to storage
(none)
remove_system_prompts
Remove system prompts
false
expire_vcon
Sets an expiration time for vCons in Redis for automatic cleanup.
expire_seconds
TTL in seconds
(required)
Integration Links
These links connect to external services.
webhook
Sends vCons to external webhook URLs.
url
Webhook URL
(required)
method
HTTP method
POST
headers
HTTP headers
{}
include_vcon
Include full vCon in payload
true
timeout
Request timeout in seconds
30
post_analysis_to_slack
Posts vCon analysis results to Slack channels.
webhook_url
Slack webhook URL
(required)
channel
Slack channel
(required)
analysis_type
Analysis type to post
summary
template
Message template
{body}
condition
Optional tag condition
(none)
Audit and Compliance Links
These links provide integrity and audit trail capabilities.
datatrails
Creates verifiable audit trails using the DataTrails platform, mapping to SCITT envelopes.
client_id
DataTrails client ID
(required)
client_secret
DataTrails client secret
(required)
asset_id
Asset identifier
(required)
event_type
Event type label
vcon_event
include_hash
Include content hash
true
scitt
Creates and registers signed statements on a SCITT Transparency Service for verifiable integrity.
service_url
SCITT service URL
(required)
signing_key_path
Path to signing key
(required)
include_receipt
Store receipt in vCon
true
Using Links in Chains
Links are combined into chains in the configuration:
Links execute in order. If any link returns None, chain processing stops for that vCon.
Common Patterns
Conditional Processing
Use sampler or jq_link to process only certain vCons:
Multi-stage Analysis
Chain multiple analysis links for comprehensive processing:
Tag-based Routing
Use tags to route vCons to different downstream chains:
Last updated
Was this helpful?