Tigent
ConfigurationSentiment

Configuration

Sentiment

Detect frustrated users and track unanswered issues.

Configuration

Enable sentiment detection in your config file:

sentiment:
  enabled: true
  threshold: 0.7

  detect:
    negative: true
    frustrated: true
    confused: true

  triggers:
    issues: true
    comments: true

  noreply:
    enabled: true
    hours: 48
    mode: both

  labels:
    negative: needs-attention
    frustrated: needs-support
    confused: needs-help
    noreply: awaiting-response

  exempt:
    labels:
      - wontfix
      - duplicate

Options

enabled

Enable or disable sentiment detection.

enabled: true

threshold

AI confidence threshold (0.0 - 1.0) for flagging sentiment.

threshold: 0.7

detect

Which sentiment types to detect.

detect:
  negative: true
  frustrated: true
  confused: true

triggers

When to check for sentiment.

triggers:
  issues: true
  comments: true

noreply

Track issues without team responses.

noreply:
  enabled: true
  hours: 48
  mode: both

labels

Labels to apply for each sentiment type. Set to null to skip.

labels:
  negative: needs-attention
  frustrated: needs-support
  confused: needs-help
  noreply: awaiting-response

exempt

Skip sentiment checks for specific labels or users.

exempt:
  labels:
    - wontfix
  users:
    - botuser

Actions

Configure what happens when sentiment is detected:

sentiment:
  enabled: true

  actions:
    webhook:
      url: https://hooks.slack.com/...
      events:
        - negative
        - frustrated
        - noreply

    mention:
      enabled: true
      users: auto
      message: |
        heads up team - this issue may need attention.
      events:
        - negative
        - noreply

    comment:
      enabled: true
      negative: |
        we hear you and are looking into this.
      noreply: |
        sorry for the delay - the team has been notified.

Webhook payload

Webhooks receive JSON payloads (not Slack-formatted):

{
  "event": "sentiment",
  "repository": { "owner": "...", "repo": "..." },
  "issue": {
    "number": 123,
    "title": "...",
    "url": "https://github.com/..."
  },
  "sentiment": {
    "type": "frustrated",
    "confidence": 0.85,
    "indicators": ["phrases", "detected"]
  }
}

For Slack integration, use a middleware service to convert the payload to Slack Block Kit format.

How it works

Tigent analyzes the emotional tone of issues and comments using AI. When negative, frustrated, or confused sentiment is detected above the threshold, configured actions are triggered.

For no-reply tracking, Tigent identifies team members via the GitHub collaborators API and checks if issues have received responses. The workflow mode runs hourly, reactive mode checks on new comments, and both mode does both.