Skip to content

Conversation

@phum-athiphum
Copy link

@phum-athiphum phum-athiphum commented Dec 16, 2025

WHY

Fixes #19508

Summary by CodeRabbit

  • New Features
    • Added "Retrieve Transcription" action for Aircall, enabling users to retrieve AI-generated transcriptions for specific calls.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Dec 16, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Review Updated (UTC)
pipedream-docs-redirect-do-not-edit Ignored Ignored Dec 16, 2025 3:05pm

@pipedream-component-development
Copy link
Collaborator

Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified.

@pipedream-component-development
Copy link
Collaborator

Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 16, 2025

Walkthrough

Introduces a new Aircall action to retrieve AI-generated transcriptions for calls. Adds a retrieveTranscription method to the Aircall app adapter that delegates to the existing _makeRequest utility, following established patterns for GET operations.

Changes

Cohort / File(s) Change Summary
Aircall App Adapter
components/aircall/aircall.app.mjs
Added retrieveTranscription(id, $) method that calls _makeRequest with path calls/{id}/transcription to fetch call transcription data
Aircall Retrieve Transcription Action
components/aircall/actions/retrieve-transcription/retrieve-transcription.mjs
New action module with metadata, props schema referencing the call selector, and async run function that invokes the adapter's retrieveTranscription method, exports the transcription ID in summary, and returns the transcription object

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Review focus areas:
    • Verify the API endpoint path (calls/{id}/transcription) matches Aircall's current documentation
    • Confirm the call selector prop definition is correctly referenced from the adapter
    • Validate error handling is consistent with existing action patterns
    • Check that the summary export correctly captures the transcription ID

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The pull request description provides the linked issue reference (#19508) but lacks detailed context about the changes, implementation approach, and testing information. Expand the description to include what was implemented, key changes made, and any testing performed, beyond just the issue reference.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title accurately describes the main change: adding an Aircall action to retrieve call transcription, matching the implementation in the provided changes.
Linked Issues check ✅ Passed The implementation fulfills the linked issue requirements: adds a retrieve transcription action using the correct API endpoint (GET /v1/calls/:call_id/transcription) with proper action metadata and integration.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the linked issue: the new action module and app method addition are necessary to implement the transcription retrieval feature without extraneous modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e211496 and 7e38917.

📒 Files selected for processing (2)
  • components/aircall/actions/retrieve-transcription/retrieve-transcription.mjs (1 hunks)
  • components/aircall/aircall.app.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-20T00:28:38.772Z
Learnt from: js07
Repo: PipedreamHQ/pipedream PR: 18744
File: components/slack/slack.app.mjs:0-0
Timestamp: 2025-10-20T00:28:38.772Z
Learning: In components/slack/slack.app.mjs, the assistantSearch method uses sdk().apiCall() directly instead of makeRequest because the slack/web-api npm package doesn't expose assistant.search.context as a method on WebClient. This direct usage is intentional and necessary when Slack API methods are not yet exposed in the SDK.

Applied to files:

  • components/aircall/aircall.app.mjs
🧬 Code graph analysis (1)
components/aircall/aircall.app.mjs (1)
components/aircall/actions/retrieve-transcription/retrieve-transcription.mjs (1)
  • $ (24-24)
🔇 Additional comments (4)
components/aircall/aircall.app.mjs (1)

152-157: LGTM! Implementation follows established patterns.

The retrieveTranscription method correctly mirrors the getCall pattern and properly delegates to _makeRequest with the appropriate path structure for the Aircall API endpoint.

components/aircall/actions/retrieve-transcription/retrieve-transcription.mjs (3)

3-13: Metadata and annotations look correct.

The action metadata properly identifies this as a read-only operation, and the annotations appropriately reflect its non-destructive nature. The documentation link provides reference to the Aircall API.


14-22: Props configuration follows best practices.

Correctly reuses the call propDefinition from the Aircall app, ensuring consistency across actions.


23-29: Verify the transcription.id field exists in the Aircall API response.

The response structure assumption { transcription: {...} } is consistent with other Aircall endpoints in the codebase (e.g., getCall returns { call: {...} }). However, the Aircall API documentation does not detail which fields are included in the transcription object. The code assumes transcription.id exists without validation—if this field is missing or named differently, the summary export will display "undefined". Confirm this field is present in the actual API response.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@s0s0physm s0s0physm added the triaged For maintainers: This issue has been triaged by a Pipedream employee label Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triaged For maintainers: This issue has been triaged by a Pipedream employee User submitted Submitted by a user

Projects

Status: Ready for PR Review

Development

Successfully merging this pull request may close these issues.

[ACTION] Aircall - Retrieve Transcription

4 participants