{
  "service": "attention",
  "displayName": "Attention",
  "categories": [
    "AI",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ATTENTION_API_KEY",
      "description": "Attention API key sent as a Bearer token. Admins can create and manage keys from the Attention API Keys settings page: https://app.attention.tech."
    }
  ],
  "homepageUrl": "https://attention.com",
  "actions": [
    {
      "id": "attention.ask_attention",
      "service": "attention",
      "name": "ask_attention",
      "description": "Ask Attention to analyze selected conversations or a deal using a natural-language prompt.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "prompt": {
                "type": "string",
                "minLength": 1,
                "description": "Natural-language question or instruction for Attention."
              },
              "includeTimestamps": {
                "type": "boolean",
                "description": "Whether to include timestamped transcript segments."
              },
              "summarize": {
                "type": "boolean",
                "description": "Whether to append a combined summary answer."
              },
              "conversationIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 50,
                  "description": "A conversation ID."
                },
                "description": "Conversation IDs to analyze. Use this instead of dealId.",
                "minItems": 1
              }
            },
            "additionalProperties": false,
            "required": [
              "conversationIds",
              "prompt"
            ]
          },
          {
            "type": "object",
            "properties": {
              "prompt": {
                "type": "string",
                "minLength": 1,
                "description": "Natural-language question or instruction for Attention."
              },
              "includeTimestamps": {
                "type": "boolean",
                "description": "Whether to include timestamped transcript segments."
              },
              "summarize": {
                "type": "boolean",
                "description": "Whether to append a combined summary answer."
              },
              "dealId": {
                "type": "string",
                "minLength": 1,
                "description": "Deal UUID to analyze. Use this instead of conversationIds."
              }
            },
            "additionalProperties": false,
            "required": [
              "dealId",
              "prompt"
            ]
          }
        ],
        "description": "Input parameters for asking Attention to analyze conversations or a deal."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "answers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "conversation_id": {
                  "type": "string",
                  "description": "Conversation identifier for this answer, or summary for combined answers."
                },
                "output": {
                  "type": "string",
                  "description": "Textual answer produced by Attention."
                },
                "error": {
                  "type": "string",
                  "description": "Error message returned for this answer, or an empty string."
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "start_sec": {
                        "type": "number",
                        "description": "Start time of the segment in seconds."
                      },
                      "end_sec": {
                        "type": "number",
                        "description": "End time of the segment in seconds."
                      },
                      "text": {
                        "type": "string",
                        "description": "Transcript excerpt for the segment."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A timestamped transcript segment returned by Attention."
                  },
                  "description": "Timestamped segments relevant to the answer."
                },
                "title": {
                  "type": "string",
                  "description": "Conversation title associated with the answer."
                }
              },
              "additionalProperties": true,
              "required": [
                "conversation_id",
                "output",
                "error"
              ],
              "description": "An Ask Attention answer returned for a conversation or summary."
            },
            "description": "Answers returned for the requested prompt."
          }
        },
        "additionalProperties": false,
        "description": "Answers returned by Attention."
      }
    },
    {
      "id": "attention.get_conversation",
      "service": "attention",
      "name": "get_conversation",
      "description": "Retrieve one Attention conversation by internal conversation ID or external import ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Unique identifier of the conversation to retrieve."
          },
          "by": {
            "type": "string",
            "enum": [
              "id",
              "external_id"
            ],
            "description": "How to look up the conversation ID."
          },
          "includeInternalParticipants": {
            "type": "boolean",
            "description": "Whether to include internal participants in the response."
          },
          "includeZoomMetadata": {
            "type": "boolean",
            "description": "Whether to include Zoom metadata in the response."
          },
          "includeImportMetadata": {
            "type": "boolean",
            "description": "Whether to include import metadata in the response."
          },
          "detailedTranscript": {
            "type": "boolean",
            "description": "Whether to include detailed transcript information."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for retrieving a single Attention conversation."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "conversation": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "The JSON:API resource type returned by Attention."
              },
              "id": {
                "type": "string",
                "description": "Unique identifier of the conversation."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Conversation attributes, including transcript and metadata."
              },
              "links": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Pagination links returned by Attention."
              }
            },
            "additionalProperties": true,
            "required": [
              "type",
              "id"
            ],
            "description": "A conversation object returned by Attention."
          }
        },
        "additionalProperties": false,
        "description": "An Attention conversation result."
      }
    },
    {
      "id": "attention.list_conversations",
      "service": "attention",
      "name": "list_conversations",
      "description": "Retrieve a paginated list of Attention conversations with optional owner, participant, team, CRM, and status filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fromDateTime": {
            "type": "string",
            "description": "Start date and time for filtering conversations.",
            "format": "date-time"
          },
          "toDateTime": {
            "type": "string",
            "description": "End date and time for filtering conversations.",
            "format": "date-time"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number for pagination, starting from 1."
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Number of conversations to return, from 1 to 50."
          },
          "ownerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "An owner user ID."
            },
            "description": "Owner user IDs to filter conversations.",
            "minItems": 1
          },
          "ownerEmails": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An email address to include in the filter.",
              "format": "email"
            },
            "description": "Owner email addresses to filter conversations.",
            "minItems": 1
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "Case-insensitive partial title filter."
          },
          "participantEmails": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An email address to include in the filter.",
              "format": "email"
            },
            "description": "Participant email addresses to filter conversations.",
            "minItems": 1
          },
          "externalOpportunityIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "An external opportunity ID."
            },
            "description": "External opportunity IDs to filter conversations.",
            "minItems": 1
          },
          "crmFieldEntityCode": {
            "type": "string",
            "enum": [
              "companies",
              "contacts",
              "deals",
              "owners",
              "pipelines",
              "users",
              "account",
              "contact",
              "lead",
              "opportunity",
              "user"
            ],
            "description": "CRM platform entity code to filter linked CRM records."
          },
          "crmFieldFieldName": {
            "type": "string",
            "minLength": 1,
            "description": "CRM record field name to match on linked records."
          },
          "crmFieldValues": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A CRM field value."
            },
            "description": "Exact CRM field values to match, up to 10 entries.",
            "minItems": 1,
            "maxItems": 10
          },
          "teamIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A team ID."
            },
            "description": "Team IDs to filter conversations.",
            "minItems": 1
          },
          "hideInternal": {
            "type": "boolean",
            "description": "Whether to exclude internal conversations from results."
          },
          "hideNonAnalyzed": {
            "type": "boolean",
            "description": "Whether to exclude conversations that have not been analyzed."
          },
          "hidePending": {
            "type": "boolean",
            "description": "Whether to exclude conversations pending processing."
          },
          "hideTranscript": {
            "type": "boolean",
            "description": "Whether to exclude conversations without transcripts."
          },
          "hideFailed": {
            "type": "boolean",
            "description": "Whether to exclude conversations that failed processing."
          },
          "includeInternalParticipants": {
            "type": "boolean",
            "description": "Whether to include internal participants in the response."
          },
          "includeZoomMetadata": {
            "type": "boolean",
            "description": "Whether to include Zoom metadata in the response."
          },
          "includeImportMetadata": {
            "type": "boolean",
            "description": "Whether to include import metadata in the response."
          },
          "detailedTranscript": {
            "type": "boolean",
            "description": "Whether to include detailed transcript information."
          },
          "withCrmRecords": {
            "type": "boolean",
            "description": "Whether to include CRM records and re-enable extracted intelligence fields."
          },
          "withIntelligenceItems": {
            "type": "boolean",
            "description": "Whether to include intelligence items in the response."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Attention conversations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "conversations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The JSON:API resource type returned by Attention."
                },
                "id": {
                  "type": "string",
                  "description": "Unique identifier of the conversation."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Conversation attributes, including transcript and metadata."
                },
                "links": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Pagination links returned by Attention."
                }
              },
              "additionalProperties": true,
              "required": [
                "type",
                "id"
              ],
              "description": "A conversation object returned by Attention."
            },
            "description": "Conversations returned for the requested page."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Attention."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Attention."
          }
        },
        "additionalProperties": false,
        "required": [
          "conversations"
        ],
        "description": "A page of Attention conversations."
      }
    },
    {
      "id": "attention.list_teams",
      "service": "attention",
      "name": "list_teams",
      "description": "List teams in the Attention organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for listing Attention teams."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "Unique identifier of the team."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the team."
                },
                "domain": {
                  "type": "string",
                  "description": "Domain associated with the team."
                }
              },
              "additionalProperties": true,
              "required": [
                "uuid"
              ],
              "description": "A team object returned by Attention."
            },
            "description": "Teams returned by Attention."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Attention."
          }
        },
        "additionalProperties": false,
        "required": [
          "teams"
        ],
        "description": "A list of Attention teams."
      }
    },
    {
      "id": "attention.list_users",
      "service": "attention",
      "name": "list_users",
      "description": "List Attention users with optional user ID, email, team, and deleted-user filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A user ID."
            },
            "description": "User IDs to include.",
            "minItems": 1
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An email address to include in the filter.",
              "format": "email"
            },
            "description": "User email addresses to include.",
            "minItems": 1
          },
          "teamUUID": {
            "type": "string",
            "minLength": 1,
            "description": "Team UUID to filter users."
          },
          "includeDeleted": {
            "type": "boolean",
            "description": "Whether to include deleted users."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Attention users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "Unique identifier of the user."
                },
                "email": {
                  "type": "string",
                  "description": "Email address of the user.",
                  "format": "email"
                },
                "firstName": {
                  "type": "string",
                  "description": "First name of the user."
                },
                "lastName": {
                  "type": "string",
                  "description": "Last name of the user."
                }
              },
              "additionalProperties": true,
              "required": [
                "uuid"
              ],
              "description": "A user object returned by Attention."
            },
            "description": "Users returned by Attention."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Attention."
          }
        },
        "additionalProperties": false,
        "required": [
          "users"
        ],
        "description": "A list of Attention users."
      }
    }
  ]
}
