Skip to content

feat(tools): add Intercom tool integration (#4256)#5171

Merged
bryanadenhq merged 4 commits intoaden-hive:mainfrom
Ttian18:feat/tina/intercom-tool-4256
Feb 28, 2026
Merged

feat(tools): add Intercom tool integration (#4256)#5171
bryanadenhq merged 4 commits intoaden-hive:mainfrom
Ttian18:feat/tina/intercom-tool-4256

Conversation

@Ttian18
Copy link
Copy Markdown
Contributor

@Ttian18 Ttian18 commented Feb 21, 2026

Description

Add Intercom tool integration with 8 MCP tools for managing conversations,
contacts, tags, and team assignment via Intercom API v2.11.

Type of Change

  • New feature (non-breaking change that adds functionality)

Related Issues

Fixes #4256

Changes Made

  • Add intercom_tool package with _IntercomClient wrapping Intercom REST API v2.11
  • 8 tools: intercom_search_conversations, intercom_get_conversation,
    intercom_get_contact, intercom_search_contacts, intercom_add_note,
    intercom_add_tag, intercom_assign_conversation, intercom_list_teams
  • Tag name-to-ID resolution, ISO date-to-timestamp conversion, query builder
  • Register tools in tools/__init__.py
  • 50 unit tests covering client methods, tool functions, input validation,
    credential handling, and credential spec

Testing

  • Unit tests pass (uv run pytest tools/tests/ -v)
  • Lint passes (uv run ruff check && uv run ruff format --check)
  • 362 tests pass (271 existing + 41 HubSpot + 50 Intercom), 0 failures

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Register INTERCOM_ACCESS_TOKEN in INTEGRATION_CREDENTIALS for the
8 Intercom tools (search/get conversations, contacts, notes, tags,
assignment, teams). Tool implementation follows in subsequent commits.
Copy link
Copy Markdown
Collaborator

@bryanadenhq bryanadenhq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Ttian18, only one minor change for this, thanks! Additionally, please include a simple readme for the tools in this pr. Thanks!

def intercom_assign_conversation(
conversation_id: str,
assignee_id: str,
assignee_type: str = "admin",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assignee_type is calidated on line 536 but is never passed to client.assign_conversation(), please remove it or pass it through.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — assignee_type is now passed through to _IntercomClient.assign_conversation() and included in the API payload. Added tests for both default "admin" and explicit "team" values. Also added the README and an Intercom health checker for the credential registry.

Ttian18 added a commit to Ttian18/hive that referenced this pull request Feb 27, 2026
…aden-hive#4256)

- Pass assignee_type from intercom_assign_conversation tool function
  through to _IntercomClient.assign_conversation() and into the API payload
- Add tests for assignee_type="team" passthrough at client and tool levels
- Add tool README with setup, usage examples, and error handling

Addresses PR aden-hive#5171 review feedback from @bryanadenhq

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…aden-hive#4256)

- Pass assignee_type from intercom_assign_conversation tool function
  through to _IntercomClient.assign_conversation() and into the API payload
- Add tests for assignee_type="team" passthrough at client and tool levels
- Add tool README with setup, usage examples, and error handling

Addresses PR aden-hive#5171 review feedback from @bryanadenhq
@Ttian18 Ttian18 force-pushed the feat/tina/intercom-tool-4256 branch from d4ec478 to 55a4cde Compare February 27, 2026 03:56
…4256)

Add IntercomHealthChecker (subclass of OAuthBearerHealthChecker) and
register it in HEALTH_CHECKERS so the credential registry completeness
test passes in CI.
@Ttian18 Ttian18 requested a review from bryanadenhq February 27, 2026 04:13
Copy link
Copy Markdown
Collaborator

@bryanadenhq bryanadenhq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating and contributing!

@bryanadenhq bryanadenhq merged commit 296aab6 into aden-hive:main Feb 28, 2026
6 checks passed
sarthakNITT pushed a commit to sarthakNITT/hive that referenced this pull request Mar 17, 2026
…aden-hive#4256)

- Pass assignee_type from intercom_assign_conversation tool function
  through to _IntercomClient.assign_conversation() and into the API payload
- Add tests for assignee_type="team" passthrough at client and tool levels
- Add tool README with setup, usage examples, and error handling

Addresses PR aden-hive#5171 review feedback from @bryanadenhq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Integration]: Intercom — Customer Messaging, Conversations & Support Automation

2 participants