vapi_skill
- TypeScript
0
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill gracebotly/flowetic-app --skill vapi- field-semantics.yaml3.9 KB
- SKILL.md2.8 KB
Overview
This skill provides mapping guidance to convert Vapi voice event fields into dashboard-ready templates. It standardizes common voice event vocabulary (call, transcript, duration, cost, status) and supplies heuristics to map inconsistent field names to canonical dashboard properties. The output focuses on a voice-analytics template for quick integration into reporting pipelines.
How this skill works
The skill inspects incoming Vapi voice event payloads and applies a small set of heuristics to resolve field name variations into canonical properties: duration, status, and cost. It outputs a normalized object matching the voice-analytics template, preserving raw fields for auditability. Use the mapping rules to transform events before storing, aggregating, or feeding visualization layers.
When to use it
- Ingesting heterogeneous Vapi voice event streams with inconsistent field names.
- Preparing data for a voice-analytics dashboard that expects canonical fields.
- Normalizing events before cost, duration, or status-based aggregation.
- Building ETL pipelines where downstream systems require stable property names.
- Validating or enriching call records prior to long-term storage.
Best practices
- Apply the mapping heuristics early in the pipeline to avoid branching logic downstream.
- Keep original event fields alongside canonical fields for traceability and debugging.
- Treat mappings as configurable rules so you can extend or override heuristics for edge cases.
- Validate numeric conversions (e.g., duration, cost) and handle missing or malformed values explicitly.
- Log mapping decisions at a coarse level to monitor changes in upstream schemas.
Example use cases
- Normalize events where call duration appears as call_duration_seconds, duration, or call_length into a single duration property.
- Map different status fields (status, call_status, outcome) to a canonical status used by the dashboard.
- Aggregate daily call cost by mapping cost_usd, cost, or price into cost and summing per call.
- Feed normalized voice-analytics objects into a real-time metrics pipeline for live dashboards.
- Create alerts based on normalized status transitions (e.g., FAILED, DROPPED, COMPLETED).
FAQ
The skill leaves the canonical field null or undefined and preserves raw payloads; best practice is to apply default values or flag records for review.
Can I extend the mapping rules?
Yes. Treat the heuristics as configurable; add new aliases or override mappings to match your upstream schema.