visiblehours.com · Features

Slack, Jira, Asana OAuth — and Outbound webhooks and automation hooks

A manager can connect Slack, Jira, or Asana from Integrations. VisibleHours starts a real OAuth authorize URL, verifies CSRF state on callback, and stores the access token encrypted. The same screen still POSTs signed JSON when the agent stores activity or when a timesheet is submitted, approved, or rejected. Create a Catch Hook: keep events in the catch inbox, or paste an HTTPS automation URL. Copy the signing secret once, then send a test ping. The delivery log shows whether the payload stayed in the inbox or the HTTP status from your URL. Each organization only sees its own connections and events. The connected-workspace summary is a VisibleHours reading of your rows, not a live model. Public Search on this site stays here. It will not create a hook, email your team, or open the signed-in Integrations screen. After you sign in, Ask “connect slack”, “open zapier”, or “open catch hook” opens Integrations.

  1. Sign in and open Integrations.
  2. Press Connect on Slack, Jira, or Asana. Finish consent. The card shows Connected.
  3. Disconnect removes the encrypted tokens.
  4. Or create a Catch Hook (inbox or HTTPS URL), copy the signing secret once, and press Send test ping. Sample recipes live in the signed-in tutorial — this public page does not start an automation.

What this is not

  • Not a hidden listener. Employees still see the tray and can pause.
  • Not a live post into Slack channels or a Jira / Asana write-back in this slice.
  • Not a dump of another organization’s people or hours.
  • Not a live automation. Sample Catch Hook recipes stay in the signed-in tutorial.
  • Not outreach. VisibleHours will not email your team from Integrations.
  • If client IDs are missing, Connect stays disabled — no invented workspace.

Public guide: Slack, Jira, Asana OAuth and signed outbound webhooks. Signed-in steps: integrations tutorial.