PIE Connector Roadmap — Composio Parity Plan
Goal: Catalog every service that Composio integrates with, map out the PIE connector actions and heartbeat events we'd need for each, identify overlap with our existing connectors, and link to the official API docs. This is the master plan for building out PIE's connector ecosystem.
Table of Contents
- How to Read This Document
- Existing PIE Connectors (Current State)
- Overlap Analysis
- Heartbeat Events Architecture
- Category 1 — Collaboration & Communication (53 services)
- Category 2 — Productivity & Project Management (146 services)
- Category 3 — CRM (45 services)
- Category 4 — Developer Tools & DevOps (118 services)
- Category 5 — Document & File Management (76 services)
- Category 6 — Finance & Accounting (51 services)
- Category 7 — Marketing & Social Media (96 services)
- Category 8 — Sales & Customer Support (67 services)
- Category 9 — E-commerce (34 services)
- Category 10 — HR & Recruiting (12 services)
- Category 11 — Scheduling & Booking (19 services)
- Category 12 — AI & Machine Learning (79 services)
- Category 13 — Analytics & Data (48 services)
- Category 14 — Design & Creative Tools (31 services)
- Category 15 — Education & LMS (14 services)
- Category 16 — Entertainment & Media (~30 services)
- Category 17 — Advertising & Marketing (16 services)
- Category 18 — Workflow Automation (35 services)
- Category 19 — Social Media (~25 services)
- Category 20 — Data & Analytics (~20 services)
- Priority Tiers
- Implementation Notes
- Execution Plan — Building All Connectors
How to Read This Document
Each service entry follows this format:
### Service Name
- **Auth:** OAuth2 / API Key / Bearer Token / Basic
- **Composio Toolkit:** `toolkit_slug`
- **API Docs:** [link]
- **PIE Status:** `exists` | `needs-update` | `new`
- **Core Actions:** list of CRUD actions the connector should expose
- **Auto Heartbeat Events:** events that fire automatically from tool/widget/webhook actionsHeartbeat events are the key differentiator — they let PIE users set up automated reactions ("when X happens in service Y, do Z"). Each connector should expose heartbeat events derived from:
- Webhook events — declared in
automation.triggers[type=webhook].events(auto-generated) - Tool action completions —
source: 'tool'matchers on action names - Widget actions —
source: 'widget'matchers on widget action IDs - Public actions —
source: 'public'matchers for anonymous triggers
Existing PIE Connectors (Current State)
These are the connectors we already have as .pie plugins with tier: connector:
| Plugin | Service | Auth Provider | Webhook Events | Notes |
|---|---|---|---|---|
gmail-assistant | Gmail | Google OAuth2 | — (polling) | Mature v3, inbox triage, labels, drafts, widget |
github | GitHub | Custom OAuth2 | push, pull_request, issues, issue_comment, PR review, workflow_run, release, create, delete, star | Full webhook suite |
hubspot-crm | HubSpot | Custom OAuth2 | TBD | CRM connector |
close-crm | Close CRM | API Key | TBD | CRM connector |
slack | Slack | Slack OAuth2 | TBD | Messaging |
notion | Notion | Notion OAuth2 | TBD | Wiki/docs |
asana | Asana | Custom OAuth2 | TBD | Project management |
spotify | Spotify | Custom OAuth2 | — | Entertainment/music |
dropbox | Dropbox | Custom OAuth2 | TBD | Cloud storage |
digitalocean | DigitalOcean | Custom OAuth2 | TBD | Cloud infra |
meta-ads | Meta Ads | Custom OAuth2 | — | Ad management |
x-twitter | X / Twitter | Custom OAuth2 | — | Social media |
google-calendar | Google Calendar | Google OAuth2 | — (polling) | Calendar events |
trello | Trello | Custom OAuth2 | TBD | Kanban boards |
Server-side integrations (not full connectors yet, but could be promoted):
| Service | File | Notes |
|---|---|---|
| Telegram | server/src/services/telegram.ts | Bot integration |
| Twilio | server/src/services/twilio.ts | SMS/voice |
| Stripe | server/src/services/stripe.ts | Payments |
Other plugins with integration aspects (tier: tool, not connector):
| Plugin | Service |
|---|---|
linkedin-engagement | |
facebook-ad-library-research | |
instagram-researcher | |
reddit-researcher | |
tiktok-researcher | TikTok |
youtube-researcher | YouTube |
ahrefs-seo | Ahrefs |
google-maps | Google Maps |
postgres-analysis | PostgreSQL |
Overlap Analysis
Already Built (Composio overlap — 13 services)
These Composio services already have PIE connectors. For each, we note gaps to close:
| Service | PIE Has | Composio Has | Gap |
|---|---|---|---|
| Gmail | Full inbox triage, labels, drafts, widget | Send, read, list, search, attachments | PIE is MORE complete |
| GitHub | Full CRUD, webhooks for 10+ events | Repos, issues, PRs, branches, releases | PIE is comparable |
| Slack | Messaging connector | Channels, messages, users, reactions, files | Need to verify action coverage |
| Notion | Pages/databases | Pages, databases, blocks, search, comments | Need to verify action coverage |
| HubSpot | CRM connector | Contacts, deals, companies, tickets, pipelines | Need to verify action coverage |
| Asana | Task management | Tasks, projects, sections, tags, teams | Need to verify action coverage |
| Google Calendar | Event scheduling | Events, calendars, free/busy | PIE is comparable |
| Dropbox | File management | Files, folders, sharing, search | Need to verify action coverage |
| X (Twitter) | Posts, timelines, DMs | Tweets, timelines, users, DMs, lists | Need to verify action coverage |
| Meta Ads | Ad management | Campaigns, ad sets, ads, insights | Need to verify action coverage |
| Spotify | Music connector | Playback, playlists, search, library | Need to verify action coverage |
| Trello | Kanban boards | Boards, lists, cards, members, labels | Need to verify action coverage |
| Close CRM | CRM connector | Leads, contacts, opportunities, activities | Need to verify action coverage |
Research-Only (have tool plugins, need full connectors — 7 services)
| Service | Current PIE Plugin | Needs |
|---|---|---|
linkedin-engagement (tool) | Full OAuth connector with posts, connections, company pages | |
reddit-researcher (tool) | Full OAuth connector with posts, comments, subreddits | |
instagram-researcher (tool) | Full Graph API connector for business accounts | |
| YouTube | youtube-researcher (tool) | Full OAuth connector with channel management, uploads |
facebook-ad-library-research (tool) | Full Graph API connector for pages, posts, groups | |
| TikTok | tiktok-researcher (tool) | Full connector with posting, analytics |
| Ahrefs | ahrefs-seo (tool) | Full connector with site audit, keywords, backlinks |
Server-Side (need promotion to full connectors — 3 services)
| Service | Current | Needs |
|---|---|---|
| Stripe | Server service | Full connector with payments, customers, subscriptions, invoices, webhooks |
| Twilio | Server service | Full connector with SMS, voice, WhatsApp, webhooks |
| Telegram | Server service | Full connector with messages, groups, channels, bots, webhooks |
Heartbeat Events Architecture
Every PIE connector should automatically expose heartbeat events. Here's how they work and what every connector should define:
Automatic Heartbeat Event Sources
heartbeatEvents:
events:
# 1. WEBHOOK EVENTS — auto-generated from automation.triggers[type=webhook].events
# When a webhook fires, it becomes a subscribable heartbeat event automatically.
# Connector authors just need to declare webhook events in the manifest.
# 2. TOOL ACTION EVENTS — fire when an AI tool action completes
- id: email_sent
displayName: Email Sent
description: Fires when an email is successfully sent
matchers:
- source: tool
action: send_email
# 3. WIDGET ACTION EVENTS — fire when a user performs an action in the widget UI
- id: label_applied
displayName: Label Applied
description: Fires when a user applies a label in the widget
matchers:
- source: widget
actionId: apply_label
# 4. PUBLIC ACTION EVENTS — fire from anonymous/external triggers
- id: form_submitted
displayName: Form Submitted
matchers:
- source: public
actionId: submit_formStandard Heartbeat Events Per Connector Type
Every connector should expose at minimum these heartbeat event patterns (where applicable):
| Connector Type | Standard Heartbeat Events |
|---|---|
email_received, email_sent, email_labeled, email_archived, email_replied | |
| CRM | contact_created, contact_updated, deal_created, deal_stage_changed, deal_won, deal_lost, note_added |
| Project Management | task_created, task_completed, task_assigned, comment_added, project_updated, status_changed |
| Messaging | message_received, message_sent, channel_created, reaction_added, mention_received |
| Source Control | push_received, pr_opened, pr_merged, issue_opened, issue_closed, review_submitted, workflow_completed |
| Calendar | event_created, event_updated, event_cancelled, event_starting_soon, attendee_responded |
| Storage | file_uploaded, file_shared, file_modified, file_deleted, folder_created |
| Social Media | post_published, comment_received, mention_received, follower_gained, dm_received |
| E-commerce | order_placed, order_shipped, order_completed, payment_received, refund_issued, inventory_low |
| Finance | payment_received, invoice_sent, invoice_paid, subscription_created, subscription_cancelled |
| HR | application_received, candidate_stage_changed, offer_sent, employee_onboarded |
| Analytics | threshold_exceeded, report_generated, anomaly_detected |
Category 1 — Collaboration & Communication (53 services)
Gmail
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
gmail - API Docs: Gmail API
- PIE Status:
exists—gmail-assistant.pie(v3, mature) - Core Actions: list_messages, get_message, send_email, create_draft, list_labels, create_label, modify_message, search_messages, get_thread, list_threads, get_attachment
- Auto Heartbeat Events:
email_received(webhook/polling)email_sent(tool: send_email)email_labeled(tool: modify_message)email_archived(tool: modify_message)draft_created(tool: create_draft)
- Gap: None significant. PIE is ahead here.
Outlook
- Auth: OAuth2
- Composio Toolkit:
outlook - API Docs: Microsoft Graph Mail API
- PIE Status:
new - Core Actions: list_messages, get_message, send_email, create_draft, reply_to_message, forward_message, list_folders, create_folder, move_message, search_messages, list_attachments, get_attachment, create_rule, list_calendar_events
- Auto Heartbeat Events:
email_received(webhook)email_sent(tool: send_email)email_replied(tool: reply_to_message)email_moved(tool: move_message)
Slack
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
slack - API Docs: Slack Web API
- PIE Status:
exists—slack.pie - Core Actions: send_message, list_channels, get_channel_history, create_channel, invite_to_channel, set_topic, upload_file, add_reaction, remove_reaction, list_users, get_user_info, search_messages, update_message, delete_message, pin_message, list_pins, set_status
- Auto Heartbeat Events:
message_received(webhook: message)message_sent(tool: send_message)channel_created(webhook: channel_created)reaction_added(webhook: reaction_added)mention_received(webhook: app_mention)file_shared(webhook: file_shared)member_joined(webhook: member_joined_channel)
- Gap: Verify webhook event declarations in manifest. Add reaction, pin, status actions if missing.
Microsoft Teams
- Auth: OAuth2
- Composio Toolkit:
microsoft_teams - API Docs: Microsoft Graph Teams API
- PIE Status:
new - Core Actions: send_message, list_channels, create_channel, list_teams, get_channel_messages, reply_to_message, list_members, add_member, create_meeting, list_chats, get_chat_messages
- Auto Heartbeat Events:
message_received(webhook)message_sent(tool: send_message)channel_created(webhook)member_added(webhook)meeting_created(tool: create_meeting)
Discord
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
discord - API Docs: Discord API
- PIE Status:
new - Core Actions: send_message, list_channels, create_channel, list_guilds, get_messages, add_reaction, create_thread, list_members, ban_member, kick_member, manage_roles, create_webhook
- Auto Heartbeat Events:
message_received(webhook: MESSAGE_CREATE)message_sent(tool: send_message)member_joined(webhook: GUILD_MEMBER_ADD)reaction_added(webhook: MESSAGE_REACTION_ADD)
Gong
- Auth: OAuth2
- Composio Toolkit:
gong - API Docs: Gong API
- PIE Status:
new - Core Actions: list_calls, get_call, get_call_transcript, list_users, get_user, search_calls, get_call_stats, list_scorecards, get_deal_info
- Auto Heartbeat Events:
call_recorded(webhook)call_analyzed(webhook)deal_updated(webhook)
Confluence
- Auth: OAuth2
- Composio Toolkit:
confluence - API Docs: Confluence REST API
- PIE Status:
new - Core Actions: get_page, create_page, update_page, delete_page, list_pages, search_content, get_space, list_spaces, create_space, add_comment, list_comments, get_attachments, upload_attachment
- Auto Heartbeat Events:
page_created(webhook: page_created)page_updated(webhook: page_updated)comment_added(webhook: comment_created)
Google Meet
- Auth: OAuth2
- Composio Toolkit:
googlemeet - API Docs: Google Meet REST API
- PIE Status:
new - Core Actions: create_meeting, get_meeting, list_recordings, get_transcript, list_participants
- Auto Heartbeat Events:
meeting_started(webhook)meeting_ended(webhook)recording_available(webhook)
Basecamp
- Auth: OAuth2
- Composio Toolkit:
basecamp - API Docs: Basecamp 4 API
- PIE Status:
new - Core Actions: list_projects, create_project, list_todos, create_todo, complete_todo, post_message, list_messages, upload_file, create_event, list_people
- Auto Heartbeat Events:
todo_completed(tool: complete_todo)message_posted(tool: post_message)todo_created(tool: create_todo)
Dialpad
- Auth: OAuth2, API Key
- Composio Toolkit:
dialpad - API Docs: Dialpad API
- PIE Status:
new - Core Actions: make_call, send_sms, list_contacts, get_call_log, list_users, create_contact, get_recording
- Auto Heartbeat Events:
call_completed(webhook)sms_received(webhook)voicemail_received(webhook)
Intercom
- Auth: OAuth2
- Composio Toolkit:
intercom - API Docs: Intercom API
- PIE Status:
new - Core Actions: list_contacts, create_contact, update_contact, search_contacts, list_conversations, get_conversation, reply_to_conversation, create_message, list_tags, tag_contact, create_note
- Auto Heartbeat Events:
conversation_created(webhook: conversation.created)conversation_replied(webhook: conversation.user.replied)contact_created(webhook: contact.created)conversation_closed(webhook: conversation.admin.closed)
Twilio (promote from server service)
- Auth: API Key / Basic
- Composio Toolkit:
twilio(not listed in Composio but common) - API Docs: Twilio REST API
- PIE Status:
needs-update— exists as server service, needs full connector - Core Actions: send_sms, send_whatsapp, make_call, list_messages, get_message, list_calls, get_call, create_conference, list_recordings
- Auto Heartbeat Events:
sms_received(webhook: incoming-message)call_received(webhook: incoming-call)sms_sent(tool: send_sms)call_completed(webhook: call-completed)
Telegram (promote from server service)
- Auth: Bot Token
- Composio Toolkit:
telegram(not listed separately) - API Docs: Telegram Bot API
- PIE Status:
needs-update— exists as server service, needs full connector - Core Actions: send_message, edit_message, delete_message, forward_message, send_photo, send_document, get_updates, get_chat, get_chat_members, pin_message, create_poll, answer_callback_query
- Auto Heartbeat Events:
message_received(webhook: message)message_sent(tool: send_message)callback_query(webhook: callback_query)member_joined(webhook: new_chat_members)
Additional Communication Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Slackbot | OAuth2 | Slack Events API | bot_respond, schedule_message, manage_reminders | reminder_fired, bot_mentioned |
| 2chat | API Key | 2chat API | send_whatsapp, send_sms, list_chats, list_messages | message_received, message_sent |
| Agent Mail | API Key | Agent Mail API | create_inbox, send_email, list_emails, get_email | email_received, email_sent |
| Chatwork | API Key | Chatwork API | send_message, list_rooms, get_messages, list_tasks | message_received, task_created |
| DailyBot | API Key | DailyBot API | create_standup, get_responses, create_poll | standup_completed, poll_response |
| Loomio | API Key | Loomio API | create_discussion, create_proposal, list_groups | proposal_closed, vote_cast |
| MailerSend | API Key | MailerSend API | send_email, list_templates, get_activity | email_delivered, email_bounced, email_opened |
| Missive | API Key | Missive API | list_conversations, send_message, assign_conversation | conversation_assigned, message_received |
| MSG91 | API Key | MSG91 API | send_sms, send_otp, verify_otp | sms_delivered, otp_verified |
| Echtpost | API Key | Echtpost API | send_document, track_delivery | document_delivered |
| Egnyte | OAuth2 | Egnyte API | upload_file, list_files, share_file, create_folder | file_uploaded, file_shared |
| ClickMeeting | API Key | ClickMeeting API | create_webinar, list_webinars, get_attendees | webinar_started, attendee_joined |
Category 2 — Productivity & Project Management (146 services)
Notion
- Auth: OAuth2, API Key
- Composio Toolkit:
notion - API Docs: Notion API
- PIE Status:
exists—notion.pie - Core Actions: search, get_page, create_page, update_page, get_database, query_database, create_database, update_database, get_block, update_block, append_blocks, delete_block, list_comments, create_comment, list_users, get_user
- Auto Heartbeat Events:
page_created(tool: create_page)page_updated(tool: update_page)database_entry_added(tool: create_page in database)comment_added(tool: create_comment)
- Gap: Verify all actions are exposed. Add webhook support if Notion supports it.
Asana
- Auth: OAuth2
- Composio Toolkit:
asana - API Docs: Asana API
- PIE Status:
exists—asana.pie - Core Actions: list_tasks, create_task, update_task, complete_task, list_projects, create_project, list_sections, create_section, move_task, add_comment, list_tags, add_tag, list_teams, get_user, search_tasks
- Auto Heartbeat Events:
task_created(webhook: task.created)task_completed(webhook: task.completed)task_assigned(webhook: task.assigned)comment_added(webhook: story.created)project_updated(webhook: project.changed)
- Gap: Verify webhook events are declared in manifest.
Google Sheets
- Auth: OAuth2
- Composio Toolkit:
googlesheets - API Docs: Google Sheets API
- PIE Status:
new - Core Actions: get_spreadsheet, create_spreadsheet, get_values, update_values, append_values, clear_values, batch_get, batch_update, create_sheet, delete_sheet, copy_sheet, get_metadata
- Auto Heartbeat Events:
values_updated(tool: update_values)row_appended(tool: append_values)sheet_created(tool: create_sheet)
Airtable
- Auth: OAuth2, Bearer Token, API Key
- Composio Toolkit:
airtable - API Docs: Airtable API
- PIE Status:
new - Core Actions: list_records, get_record, create_record, update_record, delete_record, list_bases, get_base_schema, list_tables, create_table, list_views, create_field
- Auto Heartbeat Events:
record_created(webhook: record.created)record_updated(webhook: record.updated)record_deleted(webhook: record.deleted)
Jira
- Auth: OAuth2, API Key
- Composio Toolkit:
jira - API Docs: Jira REST API
- PIE Status:
new - Core Actions: get_issue, create_issue, update_issue, transition_issue, assign_issue, add_comment, list_comments, search_issues (JQL), list_projects, get_project, list_boards, list_sprints, get_sprint, move_to_sprint, list_transitions, get_worklog, add_worklog
- Auto Heartbeat Events:
issue_created(webhook: jira:issue_created)issue_updated(webhook: jira:issue_updated)issue_transitioned(tool: transition_issue)comment_added(webhook: comment_created)sprint_started(webhook: sprint_started)sprint_completed(webhook: sprint_closed)
Linear
- Auth: OAuth2, API Key
- Composio Toolkit:
linear - API Docs: Linear API (GraphQL)
- PIE Status:
new - Core Actions: list_issues, create_issue, update_issue, get_issue, list_projects, create_project, list_teams, list_cycles, create_comment, list_labels, assign_issue, change_status, search_issues
- Auto Heartbeat Events:
issue_created(webhook: Issue.create)issue_updated(webhook: Issue.update)issue_status_changed(webhook)comment_added(webhook: Comment.create)cycle_completed(webhook)
ClickUp
- Auth: OAuth2, API Key
- Composio Toolkit:
clickup - API Docs: ClickUp API
- PIE Status:
new - Core Actions: list_tasks, create_task, update_task, get_task, delete_task, list_spaces, list_folders, list_lists, create_list, add_comment, list_comments, get_time_entries, create_time_entry, set_priority, add_tag
- Auto Heartbeat Events:
task_created(webhook: taskCreated)task_updated(webhook: taskUpdated)task_completed(webhook: taskStatusUpdated)comment_added(webhook: taskCommentPosted)
Monday.com
- Auth: OAuth2
- Composio Toolkit:
monday - API Docs: Monday.com API (GraphQL)
- PIE Status:
new - Core Actions: list_boards, get_board, create_item, update_item, get_item, list_items, add_update, list_columns, change_column_value, create_group, list_workspaces
- Auto Heartbeat Events:
item_created(webhook: create_item)item_updated(webhook: change_column_value)status_changed(webhook: change_status_column_value)update_posted(webhook: create_update)
Google Tasks
- Auth: OAuth2
- Composio Toolkit:
googletasks - API Docs: Google Tasks API
- PIE Status:
new - Core Actions: list_task_lists, create_task_list, list_tasks, create_task, update_task, complete_task, delete_task, move_task
- Auto Heartbeat Events:
task_completed(tool: complete_task)task_created(tool: create_task)
Trello
- Auth: OAuth2
- Composio Toolkit:
trello(not listed separately in Composio) - API Docs: Trello REST API
- PIE Status:
exists—trello.pie - Core Actions: list_boards, get_board, list_lists, create_list, list_cards, create_card, update_card, move_card, add_comment, list_members, add_label, archive_card
- Auto Heartbeat Events:
card_created(webhook: createCard)card_moved(webhook: updateCard)comment_added(webhook: commentCard)card_archived(tool: archive_card)
Additional Productivity Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Coda | API Key | Coda API | list_docs, get_doc, list_tables, list_rows, add_row, update_row | row_added, row_updated |
| Clockify | API Key, OAuth2 | Clockify API | list_time_entries, create_entry, stop_timer, list_projects | timer_stopped, entry_created |
| Baserow | Bearer | Baserow API | list_rows, create_row, update_row, delete_row, list_tables | row_created, row_updated |
| Canny | API Key | Canny API | list_posts, create_post, list_comments, change_status | post_created, status_changed, vote_cast |
| Dart | OAuth2 | Dart API | list_tasks, create_task, update_task, list_projects | task_created, task_completed |
| Hive | API Key | Hive API | list_actions, create_action, update_action, list_projects | action_completed, action_created |
| Wrike | OAuth2 | Wrike API | list_tasks, create_task, update_task, list_folders | task_created, task_completed, task_assigned |
| Todoist | OAuth2 | Todoist API | list_tasks, create_task, complete_task, list_projects | task_completed, task_created |
| Smartsheet | OAuth2 | Smartsheet API | list_sheets, get_sheet, list_rows, add_row, update_row | row_added, row_updated |
Category 3 — CRM (45 services)
HubSpot
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
hubspot - API Docs: HubSpot API
- PIE Status:
exists—hubspot-crm.pie - Core Actions: list_contacts, create_contact, update_contact, get_contact, search_contacts, list_deals, create_deal, update_deal, list_companies, create_company, update_company, create_engagement, list_pipelines, list_deal_stages, create_ticket, list_tickets, list_owners, associate_objects
- Auto Heartbeat Events:
contact_created(webhook: contact.creation)contact_updated(webhook: contact.propertyChange)deal_created(webhook: deal.creation)deal_stage_changed(webhook: deal.propertyChange)deal_won(custom matcher on deal stage)ticket_created(webhook: ticket.creation)
- Gap: Verify webhook event declarations. Add pipeline/stage heartbeats.
Salesforce
- Auth: OAuth2
- Composio Toolkit:
salesforce - API Docs: Salesforce REST API
- PIE Status:
new - Core Actions: query (SOQL), get_record, create_record, update_record, delete_record, describe_object, list_objects, search (SOSL), get_report, create_lead, convert_lead, list_opportunities, update_opportunity
- Auto Heartbeat Events:
lead_created(webhook: Lead.created)opportunity_created(webhook: Opportunity.created)opportunity_stage_changed(webhook: Opportunity.updated)case_created(webhook: Case.created)deal_closed_won(custom)
Pipedrive
- Auth: OAuth2, API Key
- Composio Toolkit:
pipedrive - API Docs: Pipedrive API
- PIE Status:
new - Core Actions: list_deals, create_deal, update_deal, get_deal, list_persons, create_person, update_person, list_organizations, create_organization, list_activities, create_activity, list_pipelines, list_stages, add_note, search
- Auto Heartbeat Events:
deal_created(webhook: added.deal)deal_updated(webhook: updated.deal)deal_won(webhook: updated.deal with status=won)person_created(webhook: added.person)activity_completed(webhook: updated.activity)
Close CRM
- Auth: API Key
- Composio Toolkit:
close - API Docs: Close API
- PIE Status:
exists—close-crm.pie - Core Actions: list_leads, create_lead, update_lead, search_leads, list_contacts, create_contact, list_opportunities, create_opportunity, update_opportunity, log_activity, list_activities, send_email, list_email_templates, create_task
- Auto Heartbeat Events:
lead_created(webhook: lead.created)opportunity_created(webhook: opportunity.created)opportunity_status_changed(webhook: opportunity.status_changed)email_received(webhook: email.incoming)task_completed(webhook: task.completed)
- Gap: Verify webhook support in manifest.
Additional CRM Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Apollo | API Key | Apollo API | search_people, enrich_contact, create_sequence, list_sequences | contact_enriched, sequence_completed |
| Attio | OAuth2 | Attio API | list_records, create_record, update_record, search | record_created, record_updated |
| Dynamics 365 | OAuth2 | Dynamics 365 API | list_entities, create_record, update_record, query | lead_created, opportunity_updated |
| Capsule CRM | OAuth2, API Key | Capsule API | list_parties, create_party, list_opportunities, create_opportunity | party_created, opportunity_won |
| Affinity | API Key | Affinity API | list_persons, create_person, list_organizations, list_lists | person_added, note_created |
| Folk | API Key | Folk API | list_contacts, create_contact, list_groups | contact_added, contact_updated |
| Freshsales | API Key | Freshsales API | list_contacts, create_contact, list_deals, create_deal | deal_created, contact_created |
| Kommo | OAuth2 | Kommo API | list_leads, create_lead, list_contacts, list_pipelines | lead_created, lead_status_changed |
| Zoho CRM | OAuth2 | Zoho CRM API | list_records, create_record, update_record, search | record_created, deal_stage_changed |
| Copper | API Key | Copper API | list_leads, create_lead, list_opportunities, list_people | lead_created, opportunity_won |
| Blackbaud | OAuth2 | Blackbaud SKY API | list_constituents, create_constituent, list_gifts, create_gift | gift_received, constituent_created |
| Follow Up Boss | Basic, OAuth2 | FUB API | list_people, create_person, list_deals, create_deal | lead_created, deal_stage_changed |
| NetHunt CRM | Basic | NetHunt API | list_records, create_record, update_record, search | record_created, record_updated |
Category 4 — Developer Tools & DevOps (118 services)
GitHub
- Auth: OAuth2, Service Account
- Composio Toolkit:
github - API Docs: GitHub REST API
- PIE Status:
exists—github.pie(mature, full webhook support) - Core Actions: list_repos, get_repo, create_repo, list_issues, create_issue, update_issue, list_pull_requests, create_pull_request, merge_pull_request, list_branches, create_branch, list_commits, get_commit, list_releases, create_release, list_workflows, trigger_workflow, search_code, list_gists, create_gist, get_file_content, list_notifications
- Auto Heartbeat Events:
push(webhook) — commits pushedpull_request(webhook) — PR opened/closed/mergedissues(webhook) — issue opened/closedissue_comment(webhook) — comment addedpull_request_review(webhook) — review submittedworkflow_run(webhook) — CI/CD completedrelease(webhook) — release publishedcreate(webhook) — branch/tag createddelete(webhook) — branch/tag deletedstar(webhook) — repo starred
- Gap: None. PIE is ahead here.
Supabase
- Auth: OAuth2, API Key
- Composio Toolkit:
supabase - API Docs: Supabase API
- PIE Status:
new - Core Actions: query_table, insert_row, update_row, delete_row, list_tables, run_sql, manage_auth_users, list_buckets, upload_file, invoke_edge_function
- Auto Heartbeat Events:
row_inserted(webhook: INSERT)row_updated(webhook: UPDATE)row_deleted(webhook: DELETE)auth_user_created(webhook)
Bitbucket
- Auth: OAuth2
- Composio Toolkit:
bitbucket - API Docs: Bitbucket REST API
- PIE Status:
new - Core Actions: list_repos, get_repo, create_repo, list_pull_requests, create_pull_request, merge_pull_request, list_branches, list_commits, list_pipelines, trigger_pipeline
- Auto Heartbeat Events:
push(webhook: repo:push)pr_created(webhook: pullrequest:created)pr_merged(webhook: pullrequest:fulfilled)pipeline_completed(webhook: repo:commit_status_updated)
GitLab
- Auth: OAuth2, API Key
- Composio Toolkit:
gitlab(likely in "Load More") - API Docs: GitLab REST API
- PIE Status:
new - Core Actions: list_projects, get_project, list_merge_requests, create_merge_request, list_issues, create_issue, list_pipelines, get_pipeline, list_branches, list_commits
- Auto Heartbeat Events:
push(webhook: Push Hook)mr_opened(webhook: Merge Request Hook)mr_merged(webhook: Merge Request Hook)issue_opened(webhook: Issue Hook)pipeline_completed(webhook: Pipeline Hook)
DigitalOcean
- Auth: Custom OAuth2
- Composio Toolkit:
digitalocean(likely in "Load More") - API Docs: DigitalOcean API
- PIE Status:
exists—digitalocean.pie - Core Actions: list_droplets, create_droplet, delete_droplet, list_databases, create_database, list_domains, create_domain, list_volumes, list_load_balancers, list_kubernetes_clusters
- Auto Heartbeat Events:
droplet_created(tool: create_droplet)droplet_destroyed(tool: delete_droplet)alert_triggered(webhook)
Additional DevOps Services (new, high-priority subset)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Cloudflare | API Key | Cloudflare API | list_zones, create_dns_record, list_dns_records, purge_cache | dns_changed, security_event |
| Vercel | API Key | Vercel API | list_deployments, create_deployment, list_projects, list_domains | deployment_completed, deployment_failed |
| Netlify | OAuth2 | Netlify API | list_sites, create_deploy, list_deploys, list_forms | deploy_succeeded, form_submission |
| AWS | API Key | AWS SDK | s3_list, s3_upload, ec2_list, lambda_invoke, sqs_send | lambda_completed, s3_object_created |
| CircleCI | API Key | CircleCI API | list_pipelines, get_pipeline, list_workflows, get_job | pipeline_completed, job_failed |
| Datadog | API Key | Datadog API | list_monitors, create_monitor, query_metrics, list_events | monitor_triggered, alert_fired |
| PagerDuty | API Key | PagerDuty API | list_incidents, create_incident, acknowledge_incident, resolve_incident | incident_triggered, incident_resolved |
| Sentry | API Key | Sentry API | list_issues, get_issue, list_events, list_projects | issue_created, issue_resolved |
| Docker Hub | API Key | Docker Hub API | list_repos, list_tags, get_image_details | image_pushed, vulnerability_found |
| Terraform Cloud | API Key | Terraform API | list_workspaces, trigger_run, get_run, list_variables | run_completed, plan_failed |
| Grafana | API Key | Grafana API | list_dashboards, get_dashboard, list_alerts, list_datasources | alert_triggered, alert_resolved |
| New Relic | API Key | New Relic API | list_applications, get_app_metrics, list_alerts, query_nrql | alert_triggered, deployment_recorded |
| Bugsnag | API Key | Bugsnag API | list_errors, get_error, list_events, list_projects | error_created, error_resolved |
| Better Stack | API Key | Better Stack API | list_monitors, create_monitor, list_incidents | monitor_down, monitor_recovered |
| Buildkite | API Key | Buildkite API | list_builds, create_build, list_pipelines, get_build | build_finished, build_failed |
| Algolia | API Key | Algolia API | search, add_records, update_record, delete_record, list_indices | record_added, index_updated |
| Ably | API Key | Ably API | publish_message, list_channels, get_presence, get_stats | message_published, presence_changed |
Category 5 — Document & File Management (76 services)
Google Drive
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
googledrive - API Docs: Google Drive API
- PIE Status:
new - Core Actions: list_files, get_file, upload_file, create_folder, move_file, copy_file, share_file, delete_file, search_files, get_permissions, create_permission, export_file, list_changes
- Auto Heartbeat Events:
file_uploaded(tool: upload_file)file_shared(tool: share_file)file_modified(webhook: changes)file_deleted(tool: delete_file)folder_created(tool: create_folder)
Google Docs
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
googledocs - API Docs: Google Docs API
- PIE Status:
new - Core Actions: get_document, create_document, batch_update, insert_text, insert_image, create_table, update_style, replace_text
- Auto Heartbeat Events:
document_created(tool: create_document)document_updated(tool: batch_update)
Dropbox
- Auth: OAuth2
- Composio Toolkit:
dropbox(likely in "Load More") - API Docs: Dropbox API
- PIE Status:
exists—dropbox.pie - Core Actions: list_folder, upload_file, download_file, create_folder, move_file, copy_file, delete_file, search_files, share_file, get_metadata, list_shared_links, create_shared_link
- Auto Heartbeat Events:
file_uploaded(tool: upload_file)file_shared(tool: share_file)file_deleted(tool: delete_file)file_modified(webhook: list_folder/longpoll)
- Gap: Verify webhook/polling for file change detection.
Box
- Auth: OAuth2
- Composio Toolkit:
box - API Docs: Box API
- PIE Status:
new - Core Actions: list_files, upload_file, download_file, create_folder, move_file, copy_file, delete_file, share_file, search, list_collaborations, add_collaboration, get_metadata, set_metadata
- Auto Heartbeat Events:
file_uploaded(webhook: FILE.UPLOADED)file_downloaded(webhook: FILE.DOWNLOADED)file_shared(tool: share_file)comment_added(webhook: COMMENT.CREATED)collaboration_added(webhook: COLLABORATION.CREATED)
Additional Document Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| DocuSign | OAuth2 | DocuSign API | send_envelope, get_envelope, list_envelopes, get_document | envelope_signed, envelope_completed, envelope_declined |
| OneDrive | OAuth2 | OneDrive API | list_files, upload_file, download_file, create_folder, share | file_uploaded, file_shared, file_modified |
| SharePoint | OAuth2 | SharePoint API | list_sites, list_files, upload_file, create_list, add_list_item | file_uploaded, list_item_created |
| Cloudinary | API Key | Cloudinary API | upload_image, transform_image, list_resources, delete_resource | image_uploaded, transformation_complete |
| BoldSign | OAuth2 | BoldSign API | create_document, send_for_signature, get_document | document_signed, document_completed |
| Documenso | API Key | Documenso API | create_document, send_document, get_document | document_signed, document_completed |
| CloudConvert | API Key | CloudConvert API | create_job, convert_file, list_jobs | conversion_completed |
Category 6 — Finance & Accounting (51 services)
Stripe (promote from server service)
- Auth: API Key, OAuth2
- Composio Toolkit:
stripe - API Docs: Stripe API
- PIE Status:
needs-update— exists as server service, needs full connector - Core Actions: list_customers, create_customer, update_customer, list_charges, create_charge, list_subscriptions, create_subscription, cancel_subscription, list_invoices, create_invoice, send_invoice, list_payment_intents, create_payment_intent, list_products, create_product, list_prices, create_price, create_refund, list_balance_transactions, create_checkout_session
- Auto Heartbeat Events:
payment_succeeded(webhook: payment_intent.succeeded)payment_failed(webhook: payment_intent.payment_failed)subscription_created(webhook: customer.subscription.created)subscription_cancelled(webhook: customer.subscription.deleted)invoice_paid(webhook: invoice.paid)invoice_payment_failed(webhook: invoice.payment_failed)charge_refunded(webhook: charge.refunded)customer_created(webhook: customer.created)checkout_completed(webhook: checkout.session.completed)
QuickBooks
- Auth: OAuth2
- Composio Toolkit:
quickbooks(likely in "Load More") - API Docs: QuickBooks API
- PIE Status:
new - Core Actions: list_invoices, create_invoice, send_invoice, list_customers, create_customer, list_payments, record_payment, list_expenses, create_expense, get_profit_loss_report, get_balance_sheet, list_items, create_item
- Auto Heartbeat Events:
invoice_created(webhook: Invoice.Create)payment_received(webhook: Payment.Create)customer_created(webhook: Customer.Create)expense_created(tool: create_expense)
Additional Finance Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| FreshBooks | OAuth2 | FreshBooks API | list_invoices, create_invoice, list_clients, list_expenses | invoice_created, payment_received |
| Xero | OAuth2 | Xero API | list_invoices, create_invoice, list_contacts, list_payments | invoice_created, payment_received |
| Brex | OAuth2, API Key | Brex API | list_transactions, list_cards, list_users | transaction_created, card_activated |
| Coinbase | API Key | Coinbase API | list_accounts, get_balance, send_crypto, list_transactions | transaction_completed, price_alert |
| Plaid | API Key | Plaid API | list_accounts, get_transactions, get_balance, get_identity | transaction_posted, balance_updated |
| PayPal | OAuth2 | PayPal API | create_payment, list_payments, create_invoice, send_payout | payment_received, invoice_paid, dispute_created |
| Square | OAuth2 | Square API | list_payments, create_payment, list_orders, list_customers | payment_completed, order_created |
| FreeAgent | OAuth2 | FreeAgent API | list_invoices, create_invoice, list_contacts, list_expenses | invoice_sent, payment_received |
| Alpha Vantage | API Key | Alpha Vantage API | get_stock_quote, get_time_series, get_forex_rate | price_threshold_crossed |
| Flutterwave | API Key | Flutterwave API | create_payment, verify_payment, list_transactions | payment_successful, transfer_completed |
| Lemon Squeezy | API Key | Lemon Squeezy API | list_orders, list_subscriptions, list_products | order_created, subscription_created |
| Moneybird | OAuth2, API Key | Moneybird API | list_invoices, create_invoice, list_contacts | invoice_sent, payment_received |
Category 7 — Marketing & Social Media (96 services)
LinkedIn (promote from tool plugin)
- Auth: OAuth2
- Composio Toolkit:
linkedin - API Docs: LinkedIn API
- PIE Status:
needs-update—linkedin-engagementis tool-tier, needs full connector - Core Actions: get_profile, list_connections, create_post, get_post, list_posts, create_comment, list_comments, share_article, get_company_page, list_followers, get_analytics
- Auto Heartbeat Events:
post_published(tool: create_post)comment_received(webhook)connection_accepted(webhook)mention_received(webhook)
Reddit (promote from tool plugin)
- Auth: OAuth2
- Composio Toolkit:
reddit - API Docs: Reddit API
- PIE Status:
needs-update—reddit-researcheris tool-tier, needs full connector - Core Actions: list_posts, create_post, get_post, list_comments, create_comment, upvote, downvote, list_subreddits, subscribe, get_user_info, search, list_messages, send_message
- Auto Heartbeat Events:
post_published(tool: create_post)comment_received(webhook)mention_received(webhook)dm_received(webhook)
Facebook (promote from tool plugin)
- Auth: OAuth2
- Composio Toolkit:
facebook - API Docs: Facebook Graph API
- PIE Status:
needs-update— needs full connector - Core Actions: get_page, list_posts, create_post, get_post_insights, list_comments, reply_to_comment, upload_photo, upload_video, list_events, create_event, get_page_insights, list_messages
- Auto Heartbeat Events:
post_published(tool: create_post)comment_received(webhook: feed)message_received(webhook: messages)page_mentioned(webhook: mention)
Additional Marketing/Social Services (new, high-priority subset)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Mailchimp | OAuth2 | Mailchimp API | list_campaigns, create_campaign, send_campaign, list_members, add_member | campaign_sent, member_subscribed, email_opened |
| SendGrid | API Key | SendGrid API | send_email, list_contacts, add_contact, list_campaigns | email_delivered, email_bounced, email_opened |
| Brevo (Sendinblue) | API Key, OAuth2 | Brevo API | send_email, send_sms, list_contacts, create_campaign | email_delivered, email_opened, contact_created |
| ActiveCampaign | API Key | ActiveCampaign API | list_contacts, create_contact, create_deal, list_automations | contact_created, deal_updated, automation_completed |
| Constant Contact | OAuth2 | Constant Contact API | create_campaign, list_contacts, add_contact | campaign_sent, contact_subscribed |
| ConvertKit | API Key | ConvertKit API | list_subscribers, add_subscriber, list_sequences, add_to_sequence | subscriber_added, sequence_completed |
| Drip | OAuth2 | Drip API | list_subscribers, create_subscriber, list_campaigns | subscriber_created, campaign_completed |
| Buffer | OAuth2 | Buffer API | create_post, list_profiles, list_updates, get_analytics | post_published, post_scheduled |
| Hootsuite | OAuth2 | Hootsuite API | schedule_post, list_social_profiles, get_analytics | post_published, engagement_received |
| Customer.io | API Key | Customer.io API | identify_person, track_event, send_email, list_campaigns | email_opened, event_tracked |
| Klaviyo | API Key | Klaviyo API | list_profiles, create_profile, list_flows, list_campaigns | profile_created, campaign_sent, flow_triggered |
| Semrush | API Key | Semrush API | get_domain_overview, get_keywords, get_backlinks | rank_changed, new_backlink |
Category 8 — Sales & Customer Support (67 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Zendesk | OAuth2 | Zendesk API | list_tickets, create_ticket, update_ticket, list_users, add_comment, search | ticket_created, ticket_updated, ticket_solved, comment_added |
| Freshdesk | Basic | Freshdesk API | list_tickets, create_ticket, update_ticket, reply_ticket, list_contacts | ticket_created, ticket_resolved, reply_received |
| Intercom | OAuth2 | Intercom API | list_conversations, reply_conversation, create_contact, list_contacts | conversation_created, message_received, conversation_closed |
| Helpdesk | API Key | HelpDesk API | list_tickets, create_ticket, update_ticket, assign_ticket | ticket_created, ticket_assigned |
| Gorgias | OAuth2 | Gorgias API | list_tickets, create_ticket, reply_ticket, list_customers | ticket_created, ticket_closed, customer_replied |
| Drift | OAuth2 | Drift API | list_conversations, send_message, list_contacts | conversation_started, message_received |
| Crisp | API Key | Crisp API | send_message, list_conversations, get_conversation | message_received, conversation_started |
| LiveChat | API Key | LiveChat API | send_message, list_chats, list_agents, list_archives | chat_started, message_received, chat_ended |
| Tidio | API Key | Tidio API | send_message, list_conversations, list_visitors | conversation_started, message_received |
| Autobound | API Key | Autobound API | generate_outreach, get_insights, list_prospects | outreach_generated |
| Findymail | API Key | Findymail API | find_email, verify_email, enrich_contact | email_found, email_verified |
Category 9 — E-commerce (34 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Shopify | API Key, OAuth2 | Shopify Admin API | list_products, create_product, update_product, list_orders, get_order, create_order, list_customers, update_inventory, list_collections | order_created, order_fulfilled, product_updated, customer_created |
| WooCommerce | API Key | WooCommerce API | list_products, create_product, list_orders, update_order, list_customers | order_created, order_completed, product_created |
| BigCommerce | API Key | BigCommerce API | list_products, create_product, list_orders, list_customers | order_created, order_shipped |
| Gumroad | OAuth2 | Gumroad API | list_products, create_product, list_sales, get_sale | sale_completed, product_created |
| Lemon Squeezy | API Key | Lemon Squeezy API | list_products, list_orders, list_subscriptions, create_checkout | order_created, subscription_created |
| ShipEngine | API Key | ShipEngine API | create_label, track_shipment, get_rates, validate_address | shipment_delivered, tracking_updated |
| Shippo | API Key, OAuth2 | Shippo API | create_shipment, get_rates, create_label, track_package | shipment_created, label_created |
| BaseLinker | API Key | BaseLinker API | list_orders, get_order, add_order, update_order | order_received, order_shipped |
Category 10 — HR & Recruiting (12 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Ashby | API Key | Ashby API | list_candidates, create_candidate, list_jobs, update_candidate_stage | application_received, stage_changed, offer_sent |
| BambooHR | OAuth2, API Key | BambooHR API | list_employees, get_employee, create_employee, list_time_off | employee_created, time_off_requested, time_off_approved |
| Lever | API Key, OAuth2 | Lever API | list_candidates, create_candidate, list_postings, advance_candidate | candidate_added, candidate_advanced, offer_sent |
| Workable | API Key | Workable API | list_candidates, create_candidate, list_jobs, move_candidate | candidate_applied, candidate_moved |
| Workday | OAuth2 | Workday API | get_worker, list_workers, get_time_off, get_payslip | employee_hired, time_off_approved |
| SAP SuccessFactors | SAML | SAP SF API | list_employees, get_employee, list_learning_activities | employee_onboarded, course_completed |
| Recruitee | API Key, OAuth2 | Recruitee API | list_candidates, create_candidate, list_offers | candidate_applied, candidate_hired |
| Connecteam | API Key | Connecteam API | list_users, list_shifts, clock_in, clock_out | shift_completed, clock_in_recorded |
Category 11 — Scheduling & Booking (19 services)
Google Calendar
- Auth: OAuth2, Bearer Token
- Composio Toolkit:
googlecalendar - API Docs: Google Calendar API
- PIE Status:
exists—google-calendar.pie - Core Actions: list_events, create_event, update_event, delete_event, get_event, list_calendars, create_calendar, get_free_busy, watch_events, quick_add_event
- Auto Heartbeat Events:
event_created(tool: create_event)event_updated(tool: update_event)event_cancelled(tool: delete_event)event_starting_soon(polling-based)attendee_responded(webhook: changes)
- Gap: Verify webhook/push notification support.
Additional Scheduling Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Calendly | OAuth2 | Calendly API | list_events, get_event, list_event_types, list_invitees | event_scheduled, event_cancelled, invitee_created |
| Cal.com | API Key | Cal.com API | list_bookings, create_booking, list_event_types, list_availability | booking_created, booking_cancelled, booking_rescheduled |
| Acuity Scheduling | OAuth2 | Acuity API | list_appointments, create_appointment, list_availability | appointment_scheduled, appointment_cancelled |
| Doodle | OAuth2 | Doodle API | create_poll, list_polls, get_poll_results | poll_closed, participant_voted |
Category 12 — AI & Machine Learning (79 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| OpenAI | API Key | OpenAI API | create_completion, create_embedding, create_image, list_models | completion_finished |
| Anthropic | API Key | Anthropic API | create_message, list_models | message_completed |
| Deepgram | API Key | Deepgram API | transcribe_audio, transcribe_url, list_projects | transcription_completed |
| ElevenLabs | API Key | ElevenLabs API | text_to_speech, list_voices, clone_voice | audio_generated |
| Replicate | API Key | Replicate API | create_prediction, get_prediction, list_models | prediction_completed |
| Hugging Face | API Key | Hugging Face API | run_inference, list_models, get_model | inference_completed |
| Stability AI | API Key | Stability API | generate_image, upscale_image, edit_image | image_generated |
| DataRobot | API Key | DataRobot API | create_project, train_model, make_prediction | model_trained, prediction_completed |
| Perplexity AI | API Key | Perplexity API | create_completion, search | search_completed |
| Gemini | API Key | Gemini API | generate_content, embed_content, list_models | content_generated |
| DeepSeek | API Key | DeepSeek API | create_chat_completion, list_models | completion_finished |
| Fal.ai | API Key | Fal.ai API | run_model, list_models, queue_request | generation_completed |
Category 13 — Analytics & Data (48 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Google Analytics | OAuth2 | GA4 API | run_report, get_realtime_report, list_properties | report_generated |
| Mixpanel | API Key | Mixpanel API | track_event, get_funnels, get_retention, query_jql | event_tracked, funnel_completed |
| Amplitude | Basic | Amplitude API | track_event, get_user_activity, get_cohorts | event_tracked |
| PostHog | API Key | PostHog API | capture_event, list_persons, get_insights, list_feature_flags | event_captured, feature_flag_changed |
| Snowflake | OAuth2 | Snowflake SQL API | execute_query, list_databases, list_schemas, list_tables | query_completed |
| Databricks | OAuth2, API Key | Databricks API | run_query, list_clusters, create_job, run_job | job_completed, query_finished |
| BigQuery | Service Account | BigQuery API | run_query, list_datasets, list_tables, create_table | query_completed, job_finished |
| Elasticsearch | API Key, Basic | Elasticsearch API | search, index_document, get_document, create_index | document_indexed, alert_triggered |
| SerpApi | API Key | SerpApi | search_google, search_bing, search_youtube | search_completed |
| Firecrawl | API Key | Firecrawl API | scrape_url, crawl_site, search | crawl_completed, page_scraped |
| Segment | API Key | Segment API | identify, track, page, group | event_tracked, user_identified |
Category 14 — Design & Creative Tools (31 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Figma | OAuth2, API Key | Figma API | get_file, list_projects, list_files, get_comments, post_comment, get_images | comment_added, file_updated |
| Canva | OAuth2 | Canva API | create_design, list_designs, export_design, list_templates | design_created, design_exported |
| Miro | OAuth2 | Miro API | list_boards, create_board, create_sticky, list_items, create_frame | board_updated, item_created |
| Webflow | OAuth2, API Key | Webflow API | list_sites, list_collections, list_items, create_item, publish_site | site_published, item_created, form_submitted |
| Cloudinary | API Key | Cloudinary API | upload, transform, search, delete, list_resources | upload_completed, transformation_done |
| Pexels | API Key | Pexels API | search_photos, search_videos, get_photo | — (read-only) |
| Unsplash | API Key | Unsplash API | search_photos, get_photo, list_collections | — (read-only) |
Category 15 — Education & LMS (14 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Google Classroom | OAuth2 | Classroom API | list_courses, create_course, list_students, create_assignment, list_submissions | assignment_submitted, grade_posted |
| Canvas LMS | OAuth2, API Key | Canvas API | list_courses, create_assignment, list_students, grade_submission | submission_received, grade_posted |
| Blackboard | OAuth2 | Blackboard API | list_courses, create_course, list_users, list_gradebook | assignment_submitted, grade_updated |
| D2L Brightspace | OAuth2 | Brightspace API | list_courses, list_users, get_grades, create_assignment | grade_posted, assignment_submitted |
Category 16 — Entertainment & Media (~30 services)
Spotify
- Auth: OAuth2
- Composio Toolkit:
spotify - API Docs: Spotify Web API
- PIE Status:
exists—spotify.pie - Core Actions: search, get_track, get_album, get_artist, get_playlist, create_playlist, add_tracks_to_playlist, get_recommendations, get_currently_playing, play, pause, skip, get_user_top_items, get_saved_tracks
- Auto Heartbeat Events:
track_played(tool: play)playlist_created(tool: create_playlist)track_added_to_playlist(tool: add_tracks_to_playlist)
- Gap: Verify action coverage.
Additional Entertainment Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| YouTube | OAuth2 | YouTube Data API | list_videos, search, get_channel, list_playlists, upload_video, list_comments | video_uploaded, comment_received, subscriber_gained |
| Twitch | OAuth2 | Twitch API | get_streams, get_users, list_followers, create_clip | stream_online, stream_offline, new_follower |
| SoundCloud | OAuth2 | SoundCloud API | list_tracks, upload_track, get_user, list_playlists | track_uploaded, track_liked |
| Vimeo | OAuth2 | Vimeo API | list_videos, upload_video, get_video, list_folders | video_uploaded, video_finished_processing |
| Podcast Index | API Key | Podcast Index API | search_podcasts, get_episodes, get_trending | new_episode_detected |
Category 17 — Advertising & Marketing (16 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Google Ads | OAuth2 | Google Ads API | list_campaigns, create_campaign, list_ad_groups, get_report, list_keywords | campaign_created, budget_exceeded, conversion_recorded |
| Meta Ads | OAuth2, API Key | Meta Marketing API | list_campaigns, create_campaign, list_ad_sets, create_ad, get_insights | campaign_created, ad_approved, budget_spent |
| TikTok Ads | OAuth2 | TikTok Marketing API | list_campaigns, create_campaign, get_report | campaign_created, ad_approved |
| LinkedIn Ads | OAuth2 | LinkedIn Ads API | list_campaigns, create_campaign, get_analytics | campaign_created, lead_generated |
| Semrush | API Key | Semrush API | get_domain_analytics, get_keyword_data, get_backlinks | rank_changed |
| Tapfiliate | API Key | Tapfiliate API | list_affiliates, list_conversions, create_affiliate | conversion_recorded, affiliate_signed_up |
Category 18 — Workflow Automation (35 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Make (Integromat) | API Key | Make API | list_scenarios, run_scenario, list_connections | scenario_completed, scenario_failed |
| Zapier | OAuth2 | Zapier API | list_zaps, trigger_zap | zap_triggered, zap_completed |
| n8n | API Key | n8n API | list_workflows, execute_workflow, list_executions | workflow_completed, workflow_failed |
| Process Street | API Key | Process Street API | list_checklists, create_checklist, complete_task | checklist_completed, task_completed |
| Crowdin | API Key, OAuth2 | Crowdin API | list_projects, upload_file, list_translations | translation_completed, file_uploaded |
Category 19 — Social Media (~25 services)
Instagram (promote from tool plugin)
- Auth: OAuth2
- Composio Toolkit:
instagram(likely in "Load More") - API Docs: Instagram Graph API
- PIE Status:
needs-update—instagram-researcheris tool-tier - Core Actions: list_media, create_post, get_insights, list_comments, reply_to_comment, get_stories, get_profile, list_hashtag_media
- Auto Heartbeat Events:
post_published(tool: create_post)comment_received(webhook: comments)mention_received(webhook: mentions)story_mention(webhook: story_mentions)
TikTok (promote from tool plugin)
- Auth: OAuth2
- Composio Toolkit:
tiktok(likely in "Load More") - API Docs: TikTok API
- PIE Status:
needs-update—tiktok-researcheris tool-tier - Core Actions: list_videos, upload_video, get_video_insights, get_user_info, list_comments
- Auto Heartbeat Events:
video_published(tool: upload_video)comment_received(webhook)video_trending(custom)
Additional Social Media Services (new)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| OAuth2 | Pinterest API | list_pins, create_pin, list_boards, create_board, get_analytics | pin_created, pin_saved | |
| Threads | OAuth2 | Threads API | create_post, list_posts, get_insights, reply_to_post | post_published, reply_received |
| Mastodon | OAuth2 | Mastodon API | create_status, list_timeline, list_notifications, list_followers | status_posted, mention_received, follower_gained |
| Bluesky | API Key | Bluesky AT Protocol | create_post, list_feed, list_notifications, get_profile | post_created, mention_received |
Category 20 — Data & Analytics (~20 services)
| Service | Auth | API Docs | Core Actions | Key Heartbeats |
|---|---|---|---|---|
| Clearbit | API Key | Clearbit API | enrich_person, enrich_company, reveal_visitor | person_enriched, company_enriched |
| PeopleDataLabs | API Key | PDL API | enrich_person, enrich_company, search_people | person_enriched |
| ZoomInfo | API Key | ZoomInfo API | search_contacts, enrich_contact, search_companies | contact_found, company_enriched |
| Crunchbase | API Key | Crunchbase API | search_organizations, get_organization, search_people | funding_round_detected |
Priority Tiers
Tier 1 — Must Have (high-demand, existing overlap to deepen, or massive user base)
- Outlook — #2 email globally, pairs with Gmail
- Microsoft Teams — enterprise messaging, pairs with Slack
- Google Sheets — most-requested data connector
- Google Drive — file management baseline
- Google Docs — document creation
- Jira — #1 project management for dev teams
- Salesforce — #1 CRM
- Stripe — already have server service, promote to connector
- Airtable — popular no-code database
- Linear — fast-growing dev PM tool
- Calendly — #1 scheduling tool
- LinkedIn — promote from tool to full connector
- Shopify — #1 e-commerce platform
- Zendesk — #1 customer support
- Discord — massive community platform
Tier 2 — Should Have (strong demand, clear use cases)
- ClickUp, Monday.com, Basecamp (PM tools)
- Pipedrive, Freshsales, Zoho CRM (CRM)
- Confluence, Box, OneDrive, SharePoint (docs/files)
- Intercom, Freshdesk, Gorgias (support)
- Telegram, Twilio (promote from server services)
- Mailchimp, SendGrid, Brevo (email marketing)
- Reddit, Facebook, Instagram, YouTube, TikTok (social — promote from tools)
- QuickBooks, FreshBooks, Xero (accounting)
- Google Ads, Google Analytics (advertising/analytics)
- Supabase, Bitbucket, GitLab (dev tools)
- Cal.com, Calendly (scheduling)
- Figma, Canva, Miro (design)
- BambooHR, Lever, Ashby (HR)
Tier 3 — Nice to Have (niche or lower demand)
All remaining services from each category.
Implementation Notes
Connector Architecture Pattern
Every PIE connector follows this structure:
---
name: service-name
displayName: Service Name
description: Description of what the connector does
tier: connector
version: 1.0.0
manifest:
trigger: auto
oauth:
provider: custom # or google, github, slack, notion
providerName: Service Name
authorizationUrl: https://service.com/oauth/authorize
tokenUrl: https://service.com/oauth/token
userInfoUrl: https://service.com/api/me # optional
scopes:
- scope1
- scope2
clientIdSecret: SERVICE_CLIENT_ID
clientSecretSecret: SERVICE_CLIENT_SECRET
developerSecrets:
SERVICE_CLIENT_ID:
description: OAuth Client ID
required: true
SERVICE_CLIENT_SECRET:
description: OAuth Client Secret
required: true
automation:
triggers:
- type: webhook
eventTypeField: event_type
events:
- name: event_name
description: When something happens
- type: interval
everyMs: 60000
description: Polling for changes
allowManualRun: true
timeout: 120
heartbeatEvents:
events:
- id: event_id
displayName: Event Display Name
description: When this event fires
matchers:
- source: webhook
eventName: event_name
- source: tool
action: action_name
widget:
launchable: true
maxHeight: 620Heartbeat Auto-Generation Strategy
For every connector, heartbeat events should be automatically generated from:
Webhook events — When you declare
automation.triggers[type=webhook].events, those webhook event names automatically become subscribable heartbeat events viabuildPluginHeartbeatCatalog()in the platform. Connector authors get these for free.Tool action completions — Explicitly declare heartbeat events with
source: toolmatchers for important write operations (create, update, delete, send).Widget interactions — Declare
source: widgetmatchers for user-initiated actions in the connector's widget UI.AI Suggestions — The
plugin-heartbeat-suggestion-servicecan also analyze connector code and suggest additional heartbeat events automatically via LLM analysis.
Standard Action Categories Per Connector
Every connector should aim to support these action categories where the service API allows:
| Category | Actions |
|---|---|
| List/Read | list_{entities}, get_{entity}, search_{entities} |
| Create | create_{entity} |
| Update | update_{entity}, modify_{entity} |
| Delete | delete_{entity}, archive_{entity} |
| Specialized | Service-specific operations (e.g., send_email, merge_pull_request) |
OAuth Provider Notes
- Built-in providers:
google,github,slack,notion— these have pre-built OAuth flows - Custom providers: Use
provider: customwithauthorizationUrl,tokenUrl, etc. - API Key services: Use
developerSecretswith API key fields (no OAuth block)
Total Composio services cataloged: ~982 across 20 categoriesExisting PIE connectors: 14 (+ 3 server services + 7 tool-tier plugins)Net new connectors needed for full parity: ~958Recommended Tier 1 (immediate): 15 connectorsRecommended Tier 2 (next quarter): ~30 connectors
Execution Plan — Building All Connectors
This is the concrete execution plan for building out the PIE connector ecosystem to Composio parity. Saved inline so it doesn't get lost.
Plan Overview
| Phase | What | Connectors | Est. Duration | Depends On |
|---|---|---|---|---|
| 0 | Infrastructure & Tooling | 0 | 1-2 weeks | — |
| 1 | Audit & Harden Existing | 14 existing | 1 week | — |
| 2 | Promote Server Services | 3 (Stripe, Twilio, Telegram) | 1-2 weeks | Phase 0 |
| 3 | Promote Tool Plugins | 7 (LinkedIn, Reddit, etc.) | 2-3 weeks | Phase 0 |
| 4 | Tier 1 — Must Haves | 15 new connectors | 4-6 weeks | Phase 0 |
| 5 | Tier 2 — Should Haves | ~30 connectors | 6-8 weeks | Phase 4 |
| 6 | Tier 3 — Long Tail | ~900+ connectors | Ongoing | Phase 5 |
Total to reach Tier 1 + promotions + audit: ~8-12 weeksTotal to reach Tier 2: ~16-22 weeks
Phase 0 — Infrastructure & Tooling (Week 1-2)
Before building any new connectors, set up the scaffolding that makes every subsequent connector faster.
0.1 Connector Template Generator
- [ ] Create a
pie create-connector <service-name>CLI command or script - [ ] Template should auto-scaffold:
.piefile with manifest skeleton (name, displayName, tier: connector, oauth block)- Tool definitions with standard CRUD action stubs
- Widget skeleton with connection status, entity list view
- Heartbeat events section pre-populated with standard events for the connector type
- Developer secrets block
- [ ] Include a "connector type" flag (email, crm, pm, messaging, storage, social, ecommerce, finance, hr, analytics) that pre-fills standard actions and heartbeats from the table in this doc
0.2 Connector Testing Harness
- [ ] Build a standardized test suite that every connector must pass:
- OAuth flow completes (or API key validates)
- Each declared tool action responds without error (mock or sandbox)
- Webhook events parse correctly
- Heartbeat events fire on tool action completion
- Widget renders without errors
- [ ] Create sandbox/mock accounts for major services (Google, Microsoft, Atlassian, Salesforce, Stripe) for CI
0.3 OAuth Provider Registry Expansion
- [ ] Audit current built-in providers:
google,github,slack,notion - [ ] Add built-in providers for the most common OAuth flows to reduce boilerplate:
microsoft(covers Outlook, Teams, OneDrive, SharePoint, Dynamics 365)atlassian(covers Jira, Confluence, Bitbucket, Trello)meta(covers Facebook, Instagram, Threads, Meta Ads)salesforceshopifystripe
- [ ] Each built-in provider pre-configures authorizationUrl, tokenUrl, token refresh logic
0.4 Heartbeat Events Auto-Suggestion Pipeline
- [ ] Ensure the
plugin-heartbeat-suggestion-serviceruns on every new connector publish - [ ] Add a "standard heartbeat" injection that auto-adds tool-action-based heartbeats for all write operations (any action starting with
create_,update_,delete_,send_,complete_,archive_) - [ ] This means connector authors get heartbeat events nearly for free on day one
0.5 API Key Auth Pattern
- [ ] Many Composio services use API Key auth (no OAuth). Standardize a
provider: apikeypattern that:- Prompts users for their API key during install
- Stores it encrypted in
oauth_connections(or a parallel secrets store) - Makes it available via
context.oauth.fetch()with the key injected as a header
- [ ] This unblocks ~60% of Composio services that are API-key-only
Phase 1 — Audit & Harden Existing Connectors (Week 2-3, parallel with Phase 0)
Go through each of the 14 existing connectors and close gaps vs. Composio's action coverage.
1.1 Gmail Assistant (gmail-assistant.pie)
- [x] Already mature (v3). No significant gaps.
- [ ] Verify heartbeat events are declared in manifest
- [ ] Add
email_receivedheartbeat if not already present (polling-based)
1.2 GitHub (github.pie)
- [x] Already mature. Full webhook suite.
- [ ] Cross-check: ensure all 10 webhook events have matching heartbeat event declarations
- [ ] Add tool-action heartbeats for:
create_issue,create_pull_request,merge_pull_request,create_release
1.3 Slack (slack.pie)
- [ ] Audit actions against Composio's list: channels, messages, users, reactions, files, pins, status
- [ ] Add missing actions:
add_reaction,remove_reaction,pin_message,set_status,upload_file,search_messages - [ ] Declare webhook events in manifest:
message,channel_created,reaction_added,app_mention,file_shared,member_joined_channel - [ ] Add heartbeat events for all webhook events + tool actions
1.4 Notion (notion.pie)
- [ ] Audit actions: pages, databases, blocks, search, comments, users
- [ ] Add missing actions:
get_block,update_block,append_blocks,delete_block,list_comments,create_comment,list_users - [ ] Add heartbeat events for:
page_created,page_updated,database_entry_added,comment_added
1.5 HubSpot CRM (hubspot-crm.pie)
- [ ] Audit actions: contacts, deals, companies, tickets, pipelines, engagements, owners
- [ ] Add webhook event declarations for:
contact.creation,deal.creation,deal.propertyChange,ticket.creation - [ ] Add heartbeat events for all webhook events + CRM-standard heartbeats
1.6 Asana (asana.pie)
- [ ] Audit actions: tasks, projects, sections, tags, teams, search
- [ ] Add webhook event declarations:
task.created,task.completed,task.assigned,story.created,project.changed - [ ] Add heartbeat events
1.7 Close CRM (close-crm.pie)
- [ ] Audit actions: leads, contacts, opportunities, activities, emails, tasks
- [ ] Add webhook event declarations:
lead.created,opportunity.created,opportunity.status_changed,email.incoming,task.completed - [ ] Add heartbeat events
1.8 Dropbox (dropbox.pie)
- [ ] Audit actions: list, upload, download, create folder, move, copy, delete, search, share
- [ ] Add polling-based file change detection if not present
- [ ] Add heartbeat events for:
file_uploaded,file_shared,file_deleted,file_modified
1.9 Google Calendar (google-calendar.pie)
- [ ] Audit actions: list events, create event, update event, delete event, list calendars, free/busy
- [ ] Add push notification support (Google Calendar API supports webhooks via
watch) - [ ] Add heartbeat events:
event_created,event_updated,event_cancelled,event_starting_soon
1.10 X / Twitter (x-twitter.pie)
- [ ] Audit actions: post tweet, get timeline, search, DMs, lists, user lookup
- [ ] Add heartbeat events:
post_published,dm_received,mention_received
1.11 Meta Ads (meta-ads.pie)
- [ ] Audit actions: campaigns, ad sets, ads, insights, audiences
- [ ] Add heartbeat events:
campaign_created,ad_approved,budget_spent
1.12 Spotify (spotify.pie)
- [ ] Audit actions: search, playback, playlists, library, recommendations
- [ ] Add heartbeat events:
track_played,playlist_created,track_added_to_playlist
1.13 DigitalOcean (digitalocean.pie)
- [ ] Audit actions: droplets, databases, domains, volumes, load balancers, k8s
- [ ] Add heartbeat events:
droplet_created,droplet_destroyed,alert_triggered
1.14 Trello (trello.pie)
- [ ] Audit actions: boards, lists, cards, members, labels, comments
- [ ] Add webhook event declarations:
createCard,updateCard,commentCard - [ ] Add heartbeat events
Phase 2 — Promote Server Services to Full Connectors (Week 3-4)
These already have server-side code. Wrap them in .pie connector plugins.
2.1 Stripe
- [ ] Create
stripe.piewithtier: connector - [ ] OAuth: Use Stripe Connect OAuth2 flow (or API Key pattern)
- [ ] Port relevant logic from
server/src/services/stripe.ts - [ ] Actions: list_customers, create_customer, list_charges, create_charge, list_subscriptions, create_subscription, cancel_subscription, list_invoices, create_invoice, list_products, create_product, create_refund, create_checkout_session
- [ ] Webhook events:
payment_intent.succeeded,payment_intent.payment_failed,customer.subscription.created,customer.subscription.deleted,invoice.paid,invoice.payment_failed,charge.refunded,customer.created,checkout.session.completed - [ ] Widget: payment dashboard, recent transactions view
- [ ] Heartbeat events: all webhook events + tool action completions
- [ ] Estimated effort: 3-5 days
2.2 Twilio
- [ ] Create
twilio.piewithtier: connector - [ ] Auth: API Key (Account SID + Auth Token) via
provider: apikeypattern - [ ] Port logic from
server/src/services/twilio.ts - [ ] Actions: send_sms, send_whatsapp, make_call, list_messages, list_calls, list_recordings
- [ ] Webhook events:
incoming-message,incoming-call,call-completed,message-status - [ ] Widget: message log, quick send form
- [ ] Estimated effort: 2-3 days
2.3 Telegram
- [ ] Create
telegram.piewithtier: connector - [ ] Auth: Bot Token via
provider: apikeypattern - [ ] Port logic from
server/src/services/telegram.ts - [ ] Actions: send_message, edit_message, delete_message, forward_message, send_photo, send_document, get_chat, get_chat_members, pin_message, create_poll
- [ ] Webhook events:
message,callback_query,new_chat_members,left_chat_member - [ ] Widget: chat view, message composer
- [ ] Estimated effort: 2-3 days
Phase 3 — Promote Tool Plugins to Full Connectors (Week 4-6)
These have research/read-only functionality. Add OAuth, write actions, webhooks, heartbeats.
3.1 LinkedIn
- [ ] Promote
linkedin-engagement(tool) tolinkedin.pie(connector) - [ ] Add OAuth2 with LinkedIn OAuth flow
- [ ] Add write actions: create_post, create_comment, share_article
- [ ] Add read actions: get_profile, list_connections, get_company_page, list_followers, get_analytics
- [ ] Webhook/heartbeat events:
post_published,comment_received,connection_accepted,mention_received - [ ] Widget: post composer, feed view
- [ ] Estimated effort: 3-4 days
3.2 Reddit
- [ ] Promote
reddit-researchertoreddit.pie - [ ] Add OAuth2 with Reddit OAuth flow
- [ ] Add write actions: create_post, create_comment, upvote, downvote, subscribe, send_message
- [ ] Webhooks: Reddit doesn't have native webhooks — use polling
- [ ] Heartbeats:
post_published,comment_received,mention_received,dm_received - [ ] Estimated effort: 3-4 days
3.3 Instagram
- [ ] Promote
instagram-researchertoinstagram.pie - [ ] Add OAuth2 via Meta/Facebook OAuth (Instagram Graph API)
- [ ] Add actions: create_post (Content Publishing API), reply_to_comment, get_insights, get_stories
- [ ] Webhook events:
comments,mentions,story_mentions(via Meta webhooks) - [ ] Estimated effort: 3-4 days
3.4 YouTube
- [ ] Promote
youtube-researchertoyoutube.pie - [ ] Add Google OAuth2 with YouTube scopes
- [ ] Add write actions: upload_video, update_video, create_playlist, add_to_playlist, reply_to_comment
- [ ] Webhook events: via YouTube Data API push notifications / PubSubHubbub
- [ ] Estimated effort: 3-4 days
3.5 Facebook
- [ ] Promote
facebook-ad-library-researchtofacebook.pie - [ ] Add OAuth2 via Meta OAuth (Graph API)
- [ ] Add actions: create_post, reply_to_comment, upload_photo, upload_video, create_event, get_page_insights
- [ ] Webhook events:
feed,messages,mention(via Meta webhooks) - [ ] Estimated effort: 3-4 days
3.6 TikTok
- [ ] Promote
tiktok-researchertotiktok.pie - [ ] Add OAuth2 via TikTok Login Kit
- [ ] Add actions: upload_video, get_video_insights, list_comments
- [ ] Webhooks: limited — use polling for comment/engagement detection
- [ ] Estimated effort: 3-4 days
3.7 Ahrefs
- [ ] Promote
ahrefs-seotoahrefs.pie - [ ] Auth: API Key
- [ ] Add actions: get_site_audit, get_keywords, get_backlinks, get_organic_traffic, get_referring_domains, get_content_gap
- [ ] Heartbeats:
rank_changed,new_backlink,audit_completed - [ ] Estimated effort: 2-3 days
Phase 4 — Tier 1: Must-Have New Connectors (Week 5-10)
Build the 15 highest-priority net-new connectors. Aim for 2-3 connectors per week with the template generator from Phase 0.
Sprint 4.1 — Microsoft Suite (Week 5-6)
| # | Connector | Auth | Key Actions | Est. Days |
|---|---|---|---|---|
| 1 | Outlook | Microsoft OAuth2 | list/send/search messages, drafts, folders, rules | 3 |
| 2 | Microsoft Teams | Microsoft OAuth2 | send message, list channels/teams, create meeting | 3 |
| 3 | Google Sheets | Google OAuth2 | get/update/append values, create spreadsheet | 2 |
| 4 | Google Drive | Google OAuth2 | list/upload/share/search files, create folder | 2 |
| 5 | Google Docs | Google OAuth2 | create/update document, insert text/image | 2 |
Sprint goal: Complete the Google + Microsoft productivity suite. These share OAuth providers so they can reuse infrastructure.
Sprint 4.2 — PM & CRM Powerhouses (Week 7-8)
| # | Connector | Auth | Key Actions | Est. Days |
|---|---|---|---|---|
| 6 | Jira | Atlassian OAuth2 | issues, sprints, boards, transitions, JQL search | 3 |
| 7 | Salesforce | Salesforce OAuth2 | SOQL query, leads, opportunities, cases, reports | 4 |
| 8 | Airtable | Airtable OAuth2 | records, bases, tables, views | 2 |
| 9 | Linear | Linear OAuth2 | issues, projects, cycles, comments | 2 |
Sprint goal: Cover the two biggest PM tools (Jira, Linear) and the biggest CRM (Salesforce) plus the most-requested no-code DB (Airtable).
Sprint 4.3 — Scheduling, Support, Community (Week 9-10)
| # | Connector | Auth | Key Actions | Est. Days |
|---|---|---|---|---|
| 10 | Calendly | Calendly OAuth2 | events, event types, invitees, scheduling links | 2 |
| 11 | Zendesk | Zendesk OAuth2 | tickets, users, comments, search, macros | 3 |
| 12 | Discord | Discord OAuth2 | messages, channels, guilds, reactions, threads | 3 |
| 13 | Shopify | Shopify OAuth2 | products, orders, customers, inventory, collections | 3 |
Sprint goal: Round out Tier 1 with scheduling, support, community, and e-commerce.
Tier 1 Checkpoint
At the end of Phase 4 you should have:
- 14 existing connectors (audited + hardened)
- 3 promoted server services
- 7 promoted tool plugins
- 13 net-new Tier 1 connectors
- Total: 37 full connectors
Phase 5 — Tier 2: Should-Have Connectors (Week 11-18)
Sprint 5.1 — PM & Collaboration Round 2 (Week 11-12)
| Connector | Auth | Est. Days |
|---|---|---|
| ClickUp | OAuth2 | 2 |
| Monday.com | OAuth2 | 2 |
| Basecamp | OAuth2 | 2 |
| Confluence | Atlassian OAuth2 | 2 |
| Google Tasks | Google OAuth2 | 1 |
Sprint 5.2 — CRM & Support Round 2 (Week 13-14)
| Connector | Auth | Est. Days |
|---|---|---|
| Pipedrive | OAuth2 | 2 |
| Intercom | OAuth2 | 2 |
| Freshdesk | API Key (Basic) | 2 |
| Gorgias | OAuth2 | 2 |
| Attio | OAuth2 | 2 |
Sprint 5.3 — Marketing & Email (Week 14-15)
| Connector | Auth | Est. Days |
|---|---|---|
| Mailchimp | OAuth2 | 2 |
| SendGrid | API Key | 2 |
| Brevo | API Key | 2 |
| ActiveCampaign | API Key | 2 |
Sprint 5.4 — Files, Finance, Analytics (Week 15-16)
| Connector | Auth | Est. Days |
|---|---|---|
| Box | OAuth2 | 2 |
| OneDrive / SharePoint | Microsoft OAuth2 | 3 |
| QuickBooks | OAuth2 | 3 |
| Google Analytics | Google OAuth2 | 2 |
| Google Ads | Google OAuth2 | 2 |
Sprint 5.5 — DevOps & Data (Week 16-17)
| Connector | Auth | Est. Days |
|---|---|---|
| Supabase | OAuth2/API Key | 2 |
| Bitbucket | Atlassian OAuth2 | 2 |
| GitLab | OAuth2 | 2 |
| Figma | OAuth2 | 2 |
| Canva | OAuth2 | 2 |
Sprint 5.6 — HR, Scheduling, Social (Week 17-18)
| Connector | Auth | Est. Days |
|---|---|---|
| BambooHR | OAuth2 | 2 |
| Lever | OAuth2 | 2 |
| Cal.com | API Key | 1 |
| OAuth2 | 2 | |
| Miro | OAuth2 | 2 |
Tier 2 Checkpoint
At the end of Phase 5:
- Total: ~67 full connectors
- Covers all major business categories
- Competitive with Composio's top ~70 most popular toolkits
Phase 6 — Tier 3: Long Tail (Ongoing)
Strategy: Template-Driven Assembly Line
With the template generator, API Key auth pattern, and heartbeat auto-suggestion in place, Tier 3 connectors become highly formulaic:
API Key services (majority of Composio's 982 services): 0.5-1 day per connector
- Run template generator with connector type
- Fill in API endpoint URLs from docs
- Map CRUD actions to API endpoints
- Test with API key
- Publish
OAuth services: 1-2 days per connector
- Same as above + configure OAuth URLs and scopes
- Test OAuth flow end-to-end
Batch approach: Group by API similarity
- All Atlassian services (Jira, Confluence, Bitbucket, Trello) share the same OAuth
- All Google services share Google OAuth
- All Meta services share Meta OAuth
- All "send email" services (MailerSend, SendGrid, Brevo, etc.) have nearly identical action shapes
Prioritization within Tier 3
Use these signals to order Tier 3 connectors:
- User requests — if someone asks for it, build it next
- Category gaps — fill categories where we have zero coverage
- OAuth reuse — if we already have the OAuth provider, it's cheap to add another service
- Composio popularity — their toolkit page sorts by popularity; follow that order within each category
Volume Targets
| Month | New Connectors | Running Total |
|---|---|---|
| Month 5 | 30 | ~97 |
| Month 6 | 40 | ~137 |
| Month 7 | 50 | ~187 |
| Month 8 | 60 | ~247 |
| Month 9+ | 60-80/month | Scale to 500+ |
At the assembly-line rate with templates, one developer can ship 3-5 API-Key connectors per day or 1-2 OAuth connectors per day.
Cross-Cutting Concerns (All Phases)
Heartbeat Events Checklist (every connector)
For every connector shipped, verify:
- [ ] All webhook events declared in
automation.triggersautomatically appear as heartbeat catalog events - [ ] All write tool actions (
create_*,update_*,delete_*,send_*) have explicitsource: toolheartbeat matchers - [ ] All widget actions that modify state have
source: widgetheartbeat matchers - [ ] Heartbeat event IDs follow
snake_casenaming convention - [ ] Heartbeat event display names are human-readable
- [ ] The
plugin-heartbeat-suggestion-servicehas been run and any good suggestions accepted
Quality Bar (every connector)
- [ ] All declared tool actions work with real API credentials
- [ ] Error messages are actionable (not raw API errors)
- [ ] Rate limiting is handled (retry with backoff)
- [ ] Token refresh works for OAuth connectors
- [ ] Widget shows connection status and meaningful data
- [ ] Manifest passes schema validation
- [ ] At least one automation trigger (webhook or polling interval) is configured
Documentation (every connector)
- [ ]
descriptionin manifest clearly explains what the connector does - [ ] Each
developerSecrethas clear instructions for where to find the value - [ ] OAuth setup instructions reference the correct developer console URL
Summary: The Numbers
| Metric | Count |
|---|---|
| Composio total toolkits | ~982 |
| PIE existing connectors | 14 |
| PIE server services to promote | 3 |
| PIE tool plugins to promote | 7 |
| Tier 1 net-new | 13 |
| Tier 2 net-new | ~30 |
| Phase 0-4 total (Tier 1 complete) | 37 connectors |
| Phase 0-5 total (Tier 2 complete) | ~67 connectors |
| Tier 3 remaining | ~915 |
| Est. time to Tier 1 | 10-12 weeks |
| Est. time to Tier 2 | 18-22 weeks |
| Est. time to 200+ | 6-8 months |
| Est. time to 500+ | 10-14 months |
Key Unlocks
- Phase 0 (template generator + API key auth) is the single biggest force multiplier — it turns every subsequent connector from a 3-day project into a 0.5-1 day project
- Heartbeat auto-generation means connectors ship with rich event support on day one without extra effort
- OAuth provider registry batches unlock entire service families (all Google, all Microsoft, all Meta, all Atlassian) at once
- Composio's long tail is mostly API Key services — once the API key auth pattern is solid, the volume game becomes very doable