Cloud Signal Connectors Tool
signal_connectorsBind external systems (ticketing, alerts, Slack, monitors) to FleetQ so events become signals that trigger rules and agents. Query and extend the knowledge graph for agent reasoning.
Instructions
Inbound signal SOURCES (ticketing, alerts, Slack, HTTP monitors, ClearCue, Telegram bots) plus the team's knowledge graph (KG) read/write surface. Distinct from signal_manage: this tool wires up connector configurations; signal_manage operates on already-ingested signals.
When to use: bind a new external system to FleetQ so its events become signals (which trigger rules → projects → agents), or query/extend the team's knowledge graph that agents reason over. Do NOT use to send outbound messages — use outbound_manage for that.
Connector actions (each accepts a config object specific to that channel; idempotent — re-call to update):
ticket (write — upsert) — config (Jira/Linear/Zendesk fields). Polls every 5 min.
alert (write — upsert) — config (PagerDuty/Opsgenie webhook). Pushes signals on incident events.
slack (write — upsert) — config (workspace_id, channel_ids[], event filters).
http_monitor (write — upsert) — config: url, interval_seconds (min 60), expected_status. Emits a signal when status flips.
clearcue (write — upsert) — config (ClearCue API key, query).
inbound_connector (write) — sub-actions: create, update, delete on generic connectors.
subscription (write) — sub-actions: list, create, delete on per-connector subscriptions.
telegram (write — upsert) — config: bot_token, allowed_chat_ids[]. Webhook auto-registered.
Knowledge graph actions:
kg_search (read — hybrid semantic+symbolic) — query (string), optional types (array). Returns ranked entities with relevance score.
kg_facts (read) — entity_id (UUID). All facts attached, paginated.
kg_add_fact (write) — entity_id, fact: { predicate (string), object (string), source (string), confidence (0..1) }.
intent_score (read — costs ~1-2 LLM credits) — company (string), query (string). Returns intent classification + confidence.
Cloud note: supabase connector not exposed in cloud (TeamProviderCredential handles per-team Supabase access through integration_manage).
Side effects: writes update KG and trigger downstream rule evaluation (may dispatch agent runs and consume budget).
Errors: 401, 403, 404, 422 (config validation), 429, 503 (upstream connector down).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: ticket, alert, slack, http_monitor, clearcue, intent_score, kg_search, kg_facts, kg_add_fact, inbound_connector, subscription, telegram | |
| deadline_ms | No | Optional: max wall-clock time (ms) the tool may spend. If exceeded during the call, returns a DEADLINE_EXCEEDED error. Minimum 100 ms. Leave unset for no deadline. | |
| driver | No | Connector driver for setup instructions: github | github_issues | jira | linear | |
| url | No | URL to monitor (required for add) | |
| monitor_type | No | Monitor type: availability | content_change | both (default: availability) | availability |
| name | No | Human-readable name for the monitor (optional, defaults to hostname) | |
| connector_id | No | Connector UUID (required for remove) | |
| expected_status | No | Expected HTTP status codes (default: [200]) | |
| ssl_check | No | Alert when SSL certificate expires within 14 days (default: true) | |
| entity_key | No | Stable identifier for the entity: LinkedIn URL, company domain, or website URL. Required for get_score and get_signal_history. | |
| entity_type | No | Entity type: company | person | |
| threshold | No | Minimum threshold for list_hot_leads: hot (80+) | warm (50+) | lukewarm (20+) | |
| limit | No | Maximum number of results for list_hot_leads (default 20, max 100) | |
| query | Yes | Natural language search query, e.g. "CEO of Acme Corp" or "latest price of Competitor X" | |
| relation_type | No | Filter by relation type (snake_case), e.g. works_at, has_price, has_status, acquired_by | |
| include_history | No | Include invalidated historical facts (default: false — only current facts) | |
| entity_name | Yes | Name of the entity to look up, e.g. "Alice Chen" or "Acme Corp" | |
| source_entity | Yes | Name of the source entity, e.g. "Alice Chen" or "Acme Corp" | |
| source_type | Yes | Type of the source entity: person | company | organization | location | date | product | technology | event | concept | process | topic | |
| target_entity | Yes | Name of the target entity, e.g. "Beta Corp" or "$79/month" | |
| target_type | Yes | Type of the target entity: person | company | organization | location | date | product | technology | event | concept | process | topic | |
| fact | Yes | Human-readable fact statement, e.g. "Alice Chen is VP Engineering at Beta Corp" | |
| valid_at | No | ISO 8601 datetime when this fact became true (defaults to now if omitted) | |
| subscription_id | No | Subscription UUID (required for get/toggle/delete) | |
| integration_id | No | Integration UUID to bind this subscription to (required for create) | |
| filter_config | No | Driver-specific filter config. GitHub: {repo, filter_branches, event_types}. Linear: {team_id, resource_types, filter_actions}. Jira: {project_key, webhook_events}. | |
| bot_token | No | Bot token from BotFather (required for register) | |
| routing_mode | No | Routing mode: assistant | project | trigger_rules (default: assistant) | assistant |