App Authorizations
Before using integration nodes in your workflows (Slack, Gmail, Google Sheets, HubSpot, etc.), you need to authorize TinyCommand to access those apps. This is done once per app, and the connection is then available to all workflows in your workspace.
Setting up a connection
- Go to Build → App Authorizations in the sidebar
- Click + Add Connection
- Search for the app (e.g., "Slack", "Gmail")
- Click Connect
- Follow the authorization flow (varies by app)
OAuth connections
Most apps use OAuth, a secure flow where you sign in to the app and grant TinyCommand access:
- Click Connect → a popup opens with the app's login page
- Sign in with your account credentials
- Review the permissions TinyCommand is requesting
- Click Allow / Authorize
- The popup closes and the connection appears as "Connected"
Apps using OAuth: Slack, Gmail, Google Sheets, Google Calendar, HubSpot, Salesforce, GitHub, Jira, Notion, Linear, Discord, Shopify, Airtable, and most others.
API key connections
Some apps require an API key instead of OAuth:
- Click Connect → a form appears asking for the API key
- Go to the app's settings/developer page and generate an API key
- Paste the key into TinyCommand
- Click Save
Apps using API keys: OpenAI, Stripe, custom APIs.
Managing connections
The App Authorizations page shows all connected apps:
| Column | Description |
|---|---|
| App | App name and logo |
| Account | Which account is connected (email or username) |
| Status | Connected, Expired, or Error |
| Connected by | Which team member set up the connection |
| Used in | Number of workflows using this connection |
| Last used | When the connection was last used in an execution |
Connection actions
| Action | Description |
|---|---|
| Reconnect | Re-authorize if the connection expired or permissions changed |
| Disconnect | Remove the connection (workflows using it will fail) |
| Test | Send a test request to verify the connection works |
| View permissions | See what access TinyCommand has to this app |
Connection status
| Status | Meaning | Action needed |
|---|---|---|
| Connected | Working normally | None |
| Expired | OAuth token expired | Click Reconnect to re-authorize |
| Error | Authorization failed or was revoked | Click Reconnect; check if the account still exists |
| Pending | OAuth flow started but not completed | Click Reconnect to finish the flow |
Expired connections
OAuth tokens expire periodically (typically every 30-90 days depending on the app). When a connection expires:
- You receive a notification (email + in-app)
- Workflows using that connection will fail with a "Connection expired" error
- Go to App Authorizations and click Reconnect on the expired connection
Multiple connections per app
You can connect multiple accounts for the same app. For example:
- Two Slack workspaces: one for your internal team, one for a client's workspace
- Two Gmail accounts: personal and company email
- Multiple Stripe accounts: production and test environments
When configuring a workflow node, select which connection to use from the dropdown.
Connection security
| Feature | Details |
|---|---|
| Token storage | OAuth tokens are encrypted at rest and in transit |
| Minimal permissions | TinyCommand requests only the permissions needed for the integration |
| No password storage | We never see or store your passwords, only OAuth tokens |
| Revocable | Disconnect any time; you can also revoke access from the app's side |
Shared connections
Connections are workspace-level: once connected, all team members can use them in their workflows. They don't need to authorize separately.
| Who can | What |
|---|---|
| Admin/Owner | Create, reconnect, and delete connections |
| Member | Use existing connections in workflows |
| Viewer | See connections but cannot modify or use them |
Disconnecting an app immediately breaks all workflows using that connection. They will fail with a "Connection not found" error on their next execution. Before disconnecting, check the "Used in" count to understand the impact.
Set a calendar reminder to check App Authorizations monthly. Reconnecting expired connections proactively prevents workflow failures that you'd otherwise only discover when something breaks in production.