{
  "service": "avoma",
  "displayName": "Avoma",
  "categories": [
    "AI",
    "Communication",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "CLIENT_KEY:CLIENT_SECRET",
      "description": "Avoma API key sent as a Bearer token. Admins can create or copy scoped API keys in Avoma under Settings > Organization > Developer: https://help.avoma.com/api-integration-for-avoma.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.avoma.com/",
  "actions": [
    {
      "id": "avoma.get_meeting",
      "service": "avoma",
      "name": "get_meeting",
      "description": "Get a single Avoma meeting by UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "meetingUuid": {
            "type": "string",
            "description": "Unique ID of the Avoma meeting.",
            "format": "uuid"
          },
          "includeCrmAssociations": {
            "type": "boolean",
            "description": "Whether Avoma should include CRM associations."
          }
        },
        "additionalProperties": false,
        "required": [
          "meetingUuid"
        ],
        "description": "Input for reading an Avoma meeting."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "meeting": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Avoma meeting object."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma meeting response."
      }
    },
    {
      "id": "avoma.get_meeting_insights",
      "service": "avoma",
      "name": "get_meeting_insights",
      "description": "Get AI notes, keywords, speakers, and related insights for a completed Avoma meeting.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "meetingUuid": {
            "type": "string",
            "description": "Unique ID of the Avoma meeting.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input for reading Avoma meeting insights."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "insights": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Avoma meeting insights object."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma meeting insights response."
      }
    },
    {
      "id": "avoma.get_recording",
      "service": "avoma",
      "name": "get_recording",
      "description": "Get Avoma recording download URLs by recording UUID when the recording is ready.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordingUuid": {
            "type": "string",
            "description": "Unique ID of the Avoma recording.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input for reading an Avoma recording by recording UUID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "HTTP status returned by Avoma for this recording lookup."
          },
          "recording": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Avoma recording response."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma recording lookup response."
      }
    },
    {
      "id": "avoma.get_recording_for_meeting",
      "service": "avoma",
      "name": "get_recording_for_meeting",
      "description": "Get Avoma recording download URLs for a meeting UUID when the recording is ready.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "meetingUuid": {
            "type": "string",
            "description": "Unique ID of the Avoma meeting.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input for reading an Avoma recording by meeting UUID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "HTTP status returned by Avoma for this recording lookup."
          },
          "recording": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Avoma recording response."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma recording lookup response."
      }
    },
    {
      "id": "avoma.get_transcription",
      "service": "avoma",
      "name": "get_transcription",
      "description": "Get a single Avoma transcription by UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "transcriptionUuid": {
            "type": "string",
            "description": "Unique ID of the Avoma transcription.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input for reading an Avoma transcription."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "transcription": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Avoma transcription object."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma transcription response."
      }
    },
    {
      "id": "avoma.get_user",
      "service": "avoma",
      "name": "get_user",
      "description": "Get a single Avoma user by UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUuid": {
            "type": "string",
            "description": "Unique ID of the Avoma user.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input for reading an Avoma user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Avoma user object."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma user response."
      }
    },
    {
      "id": "avoma.list_meetings",
      "service": "avoma",
      "name": "list_meetings",
      "description": "List Avoma meetings within a UTC date range, with optional attendee, CRM, and meeting filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fromDate": {
            "type": "string",
            "description": "Start date-time in UTC RFC3339 format.",
            "format": "date-time"
          },
          "toDate": {
            "type": "string",
            "description": "End date-time in UTC RFC3339 format.",
            "format": "date-time"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number for paginated Avoma responses."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of records returned per response."
          },
          "recordingDurationGte": {
            "type": "number",
            "minimum": 0,
            "description": "Minimum recording duration in seconds. Meetings without recordings are excluded by Avoma when this filter is used."
          },
          "isCall": {
            "type": "boolean",
            "description": "Whether to return only voice call meetings or only video meetings."
          },
          "isInternal": {
            "type": "boolean",
            "description": "Whether to return only internal meetings or only meetings with external attendees."
          },
          "attendeeEmails": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "Attendee email addresses to filter by.",
            "minItems": 1
          },
          "crmAccountIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM account external IDs to filter by.",
            "minItems": 1
          },
          "crmOpportunityIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM opportunity external IDs to filter by.",
            "minItems": 1
          },
          "crmContactIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM contact external IDs to filter by.",
            "minItems": 1
          },
          "crmLeadIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM lead external IDs to filter by.",
            "minItems": 1
          },
          "includeCrmAssociations": {
            "type": "boolean",
            "description": "Whether Avoma should include CRM associations."
          },
          "order": {
            "type": "string",
            "enum": [
              "start_at",
              "-start_at"
            ],
            "description": "Meeting ordering requested from Avoma."
          }
        },
        "additionalProperties": false,
        "required": [
          "fromDate",
          "toDate"
        ],
        "description": "Filters for listing Avoma meetings."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of records returned by Avoma."
          },
          "next": {
            "anyOf": [
              {
                "type": "string",
                "description": "URL to the next page if Avoma returned one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "type": "string",
                "description": "URL to the previous page if Avoma returned one."
              },
              {
                "type": "null"
              }
            ]
          },
          "meetings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Raw Avoma object."
            },
            "description": "Meeting objects returned by Avoma."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Avoma meetings response."
      }
    },
    {
      "id": "avoma.list_transcriptions",
      "service": "avoma",
      "name": "list_transcriptions",
      "description": "List Avoma transcriptions for meetings within a UTC date range, with optional attendee and CRM filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fromDate": {
            "type": "string",
            "description": "Start date-time in UTC RFC3339 format.",
            "format": "date-time"
          },
          "toDate": {
            "type": "string",
            "description": "End date-time in UTC RFC3339 format.",
            "format": "date-time"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number for paginated Avoma responses."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of records returned per response."
          },
          "attendeeEmails": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "Attendee email addresses to filter by.",
            "minItems": 1
          },
          "crmAccountIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM account external IDs to filter by.",
            "minItems": 1
          },
          "crmOpportunityIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM opportunity external IDs to filter by.",
            "minItems": 1
          },
          "crmContactIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM contact external IDs to filter by.",
            "minItems": 1
          },
          "crmLeadIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single filter value."
            },
            "description": "CRM lead external IDs to filter by.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "fromDate",
          "toDate"
        ],
        "description": "Filters for listing Avoma transcriptions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of records returned by Avoma."
          },
          "next": {
            "anyOf": [
              {
                "type": "string",
                "description": "URL to the next page if Avoma returned one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "type": "string",
                "description": "URL to the previous page if Avoma returned one."
              },
              {
                "type": "null"
              }
            ]
          },
          "transcriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Raw Avoma object."
            },
            "description": "Transcription objects returned by Avoma."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Avoma transcriptions response."
      }
    },
    {
      "id": "avoma.list_users",
      "service": "avoma",
      "name": "list_users",
      "description": "List Avoma users visible to the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for listing Avoma users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Raw Avoma user object."
            },
            "description": "User objects returned by Avoma."
          }
        },
        "additionalProperties": false,
        "description": "The Avoma users response."
      }
    }
  ]
}
