Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hellofriday.ai/llms.txt

Use this file to discover all available pages before exploring further.

Signals are how external events reach your Friday instance and trigger jobs. Every job runs in response to a signal. Signals live in workspace.yml under the signals: key. Each entry has a provider (which determines how the event arrives) and a config block with provider-specific settings:
workspace.yml
signals:
  daily-digest:
    title: "Daily digest"
    description: "Runs every morning at 9 AM local time"
    provider: schedule
    config:
      schedule: "0 9 * * *"
      timezone: "America/Los_Angeles"

Available signals

  • HTTP — webhooks from services like GitHub, Bitbucket, or Jira; also accepts direct API calls for manual triggers
  • Schedule — cron-based timers
  • Filesystem — fires on file or directory changes
Looking for chat integrations? See Communicators for connecting Slack, Discord, Telegram, WhatsApp, or Microsoft Teams.

Triggering signals manually

HTTP signals can be triggered programmatically — the same endpoint that receives webhooks also accepts direct calls:
curl -X POST http://localhost:18080/api/workspaces/<workspaceId>/signals/<signalId> \
  -H 'Content-Type: application/json' \
  -d '{ "payload": { "foo": "bar" } }'
In Friday, manual triggering is just a POST to the HTTP signal’s API route — there’s no separate “manual” provider to configure. CLI and Studio are wrappers around this call:
  • StudioRun button on any signal in the space dashboard
  • CLIfriday signal trigger -n <signalId> -w <workspaceId>
  • APIPOST /api/workspaces/{workspaceId}/signals/{signalId} (see the Signals API)

Managing signals

  • Studio — view every signal in the space dashboard, inspect its config, and see recent executions
  • CLIfriday signal list / friday signal trigger
  • API — the Signals endpoint accepts a payload and optional streamId for real-time progress