Skip to main content
Teio integrates with the tools your team already uses so that work stays connected across your stack. Rather than switching between apps, you can get notified in Slack when a task changes, trigger automations in Zapier when a project milestone is reached, or sync deadlines to Google Calendar — all without leaving Teio. This guide explains how to connect integrations, keep them running smoothly, and extend Teio with webhooks for custom workflows.
Connecting, modifying, and disconnecting integrations requires Admin or Owner permissions. Members can view active integrations in the workspace but cannot change them. If you need an integration set up and do not have the required role, contact your workspace admin.

Available integrations

Communication

Slack — Post task updates, mentions, and project notifications directly to Slack channels. Choose which events trigger messages and configure per-project routing.

Developer tools

GitHub — Link pull requests and commits to Teio tasks. Task statuses can update automatically when a linked PR is merged or a commit references a task ID.

Productivity

Google Calendar — Sync task due dates to a dedicated Teio calendar in Google Calendar. Changes made in Teio reflect in your calendar automatically.

Automation

Zapier — Connect Teio to thousands of apps through Zapier triggers and actions. Use prebuilt Zaps or build your own to automate repetitive cross-tool workflows.

Connecting an integration

The steps below apply to all native integrations (Slack, GitHub, Google Calendar, and Zapier). Each integration may have additional configuration options on its own settings page after you complete the connection.
1

Open Integrations settings

Go to Settings > Integrations in the left sidebar. You will see a list of all available integrations and their current connection status.
2

Select the integration

Click Connect next to the integration you want to set up. Teio will open a configuration panel for that integration.
3

Authorize access

For integrations that require an external account (Slack, GitHub, Google Calendar), Teio will redirect you to the provider’s authorization page. Sign in with the appropriate account and grant the requested permissions. You will be redirected back to Teio automatically after authorizing.
For GitHub, authorize with an account that has access to the repositories you want to link. You can grant access to specific repositories only — you do not need to authorize your entire GitHub organization.
4

Configure the integration

Once connected, configure the integration’s behavior. Common options include:
  • Slack — choose which Slack channels receive notifications and which event types (task created, status changed, comment added, due date approaching) trigger a message.
  • GitHub — select which repositories are linked and enable or disable automatic status syncing when pull requests are merged.
  • Google Calendar — choose which projects’ due dates are synced and whether the calendar is read-only or bidirectional.
  • Zapier — copy your Teio API key from the panel and use it to authenticate the Teio app inside your Zapier account.
5

Save and test

Click Save to apply your configuration. Use the Test connection button (where available) to confirm that Teio can reach the external service and that events are routing correctly.
After connecting Slack, trigger a test event — such as creating a task in a linked project — and check your configured Slack channel to confirm the notification arrives as expected before rolling out the integration to your whole team.

Managing active integrations

To view and adjust all connected integrations, go to Settings > Integrations. Each active integration shows:
  • Connection status — whether the integration is connected and healthy, or if there is an authentication error requiring re-authorization.
  • Last activity — the timestamp of the most recent event Teio sent or received via the integration.
  • Configuration — a link to edit the integration’s settings without disconnecting it.
If an integration shows a Reconnect warning, click it to re-authorize with the external service. This is usually required when a password changes or an OAuth token expires.

Disconnecting an integration

1

Open the integration's settings

Go to Settings > Integrations and click Manage next to the integration you want to remove.
2

Disconnect

Scroll to the bottom of the integration settings panel and click Disconnect. Confirm the action in the dialog that appears.
Disconnecting an integration stops all future events from being sent or received. It does not delete historical data — for example, GitHub links on existing tasks remain visible, and past Slack messages are not removed.
Disconnecting an integration is immediate. Any automations or Zapier workflows that depend on it will stop working at the moment of disconnection. Notify your team before disconnecting an integration that your workflows rely on.

Webhooks

Webhooks let you push Teio events to any external URL in real time — useful for custom integrations, internal tooling, or services not covered by native integrations. When a specified event occurs in Teio (such as a task being created or a status changing), Teio sends an HTTP POST request with a JSON payload to the URL you configure.

Configuring a webhook

1

Open the Webhooks panel

Go to Settings > Integrations > Webhooks and click Add webhook.
2

Enter the endpoint URL

Provide the URL of the server or service that will receive the webhook payload. The endpoint must be publicly accessible and respond to POST requests with a 2xx status code.
3

Select trigger events

Choose which events should fire the webhook. Available event types include:
  • task.created
  • task.updated
  • task.status_changed
  • task.deleted
  • comment.created
  • project.created
  • project.updated
  • member.added
  • member.removed
You can subscribe to individual events or select All events to receive every event type.
4

Set a signing secret (recommended)

Enter a secret string in the Signing secret field. Teio will include an X-Teio-Signature header in every request, computed using HMAC-SHA256 with your secret. Verify this signature on your server to confirm that requests are genuinely coming from Teio.
5

Save and verify

Click Save webhook. Teio will send a test ping event to your endpoint immediately. If your server returns a 200 response, the webhook is active and ready. If the test fails, check that the URL is reachable and that your server is set up to accept POST requests.

Webhook payload structure

Every webhook request from Teio follows the same envelope format:
{
  "event": "task.status_changed",
  "timestamp": "2026-04-15T10:30:00Z",
  "workspace_id": "ws_abc123",
  "data": {
    "task_id": "tsk_xyz789",
    "title": "Update onboarding email copy",
    "previous_status": "In progress",
    "new_status": "In review",
    "changed_by": "user@example.com"
  }
}
The data object structure varies by event type depending on which event fired. Review the event types listed in the webhook configuration steps above for a full list of supported events.

Set up your workspace

Configure your workspace, invite your team, and create your first project.

Manage tasks and collaborate

Learn how to create tasks, track progress, and keep your team in sync every day.