Docs menu

Integrations

Feedback should land where your team already works. Every accepted submission can become an Asana task or a signed webhook POST to your own endpoint — no polling, no export step.

How delivery works

When a visitor submits feedback and StageWhisper accepts it, a background delivery job runs for each active integration on your workspace. Asana integrations create a task in the project you chose; webhook integrations POST the submission as signed JSON. Each integration keeps its own delivery history in the dashboard, so you can see exactly what was sent, when, and whether the destination accepted it. Delivery is at-least-once: if a destination accepts a delivery but the response is lost to a timeout, the retry can create a duplicate task or POST — dedupe on the submission link (Asana) or X-SW-Delivery-Id (webhooks) if that matters to you.

  • Free — no integrations.
  • Starter — one active integration: Asana or a webhook.
  • Pro — unlimited integrations, including several Asana projects.

Connect Asana

Before you start

You need to be a workspace owner or admin in StageWhisper, and you need an Asana account that can see the project you want tasks created in. The Asana account does not have to be an Asana admin.

Authorize StageWhisper

  1. Open Integrations in your StageWhisper dashboard and press Connect Asana.
  2. Asana shows its consent screen listing what StageWhisper is asking for. Press Allow.
  3. You return to StageWhisper with a new, not-yet-active Asana connection.

Pressing Deny instead returns you to StageWhisper with the message “Asana authorization was canceled.” Nothing is stored.

Choose a workspace and project

On the connection page, pick an Asana workspace, then a project inside it — the project list loads from Asana as you choose. Tick Active and press Save integration. StageWhisper confirms with Asana that the project really belongs to the chosen workspace before it activates delivery.

Test the connection

Press Test connection on the connection page at any time. It checks your authorization with Asana live and reports one of these outcomes:

  • Verified, project reachable — StageWhisper can see the chosen project in the chosen workspace. Delivery will work.
  • Verified, choose a project — authorization works, but you have not picked a workspace and project yet.
  • Project no longer reachable — authorization works, but the project was deleted, moved to another workspace, or is hidden from the authorizing account. Choose another project.
  • Authorization expired — Asana no longer honors the stored authorization. Press Reconnect Asana.
  • Temporarily unavailable — Asana did not answer in time. Nothing changed on your side; try again shortly.
  • Unexpected response — Asana answered with something StageWhisper could not interpret. Try again; if it persists, contact support.

What StageWhisper can access

StageWhisper asks Asana for exactly three permissions:

Permission Used for
tasks:write Creating the task for each accepted submission in your chosen project.
projects:read Listing projects in the workspace picker and confirming the chosen project is still reachable.
workspaces:read Listing the workspaces your Asana account can see.

StageWhisper never sees your Asana password; it stores encrypted OAuth tokens that you can revoke by disconnecting here or from Asana's Apps settings.

If your Asana admin restricts apps

Disconnect or reconnect

Disconnect clears the stored Asana tokens and stops delivery, but keeps the connection's delivery history and your workspace and project selection. If Asana revokes access on its side — someone removed the app, or the authorizing account left the workspace — the connection's status changes to Reconnect required. In both cases, Reconnect Asana runs the consent flow again and reuses the same connection, so history and settings stay attached.

Signed webhooks

Prefer your own endpoint? Add a webhook integration with a public HTTPS URL. StageWhisper rejects localhost, private networks, redirects, fragments, credentials, and non-HTTPS URLs.

  • Each delivery is a JSON POST carrying X-SW-Delivery-Id, X-SW-Timestamp, and X-SW-Signature.
  • X-SW-Signature is sha256=<HMAC-SHA256 of "<X-SW-Timestamp>.<body>">, keyed with the per-integration signing secret shown on the connection page. Verify it before trusting the payload.
  • Your endpoint has a 5-second window to answer with a 2xx. Slow or failing endpoints are retried with exponential backoff, up to 5 attempts, before the delivery is marked failed.
  • Rotate the signing secret from the connection page: stage a new secret, install it, then activate it. StageWhisper signs with both secrets for 24 hours so nothing is dropped during the switch.

Troubleshooting

Connect Asana is disabled

A disabled button with “Asana isn't available in this environment yet.” means the StageWhisper environment you are using has not been connected to Asana by its operators. On a staging or self-hosted instance, ask whoever runs it; on stagewhisper.co, contact support. An “Upgrade or disconnect another integration” message is different — that is your plan's integration limit.

I pressed Allow but landed back with an error

“Asana rejected the authorization request” means Asana refused the handshake rather than you declining it. Try again once; if it repeats, contact support with the time it happened. If you see an Asana-branded error page and never return to StageWhisper, the app registration is misconfigured on our side — also worth a support note.

Status says Reconnect required

Asana stopped honoring the stored authorization. Press Reconnect Asana; your project selection and delivery history are kept.

Test connection says the project is no longer reachable

The project was deleted, archived out of reach, moved to a different workspace, or the authorizing Asana account lost access to it. Pick another project (or the same one in its new workspace) and save.

My tasks aren't appearing

  • Check the connection's Delivery history — each attempt and its result is listed there.
  • Make sure the connection is Active. On Starter, only one integration can be active at a time.
  • Check your plan status in Billing: a past-due or canceled workspace pauses delivery until it is reactivated.
  • Press Test connection to rule out an expired authorization or an unreachable project.