feat: add Plivo integration (SMS, voice, verify, lookup tools)#3608
Open
sarveshpatil-plivo wants to merge 4 commits into
Open
feat: add Plivo integration (SMS, voice, verify, lookup tools)#3608sarveshpatil-plivo wants to merge 4 commits into
sarveshpatil-plivo wants to merge 4 commits into
Conversation
Adds a Plivo tools integration under integrations/plivo/ — Haystack Tool objects for Send SMS, Verify (send + validate OTP), Number Lookup, and Make Call, plus a PlivoToolset. Mirrors the e2b tools integration. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Plivo Lookup response returns country and carrier as nested dicts, so attribute access returned None for country, carrier, type, and ported. Read the fields with a dict-aware helper and update the test to the real shape.
Add an answer_method parameter (default POST) so a call can use GET for a static answer URL such as the Plivo demo XML, instead of always POST.
sarveshpatil-plivo
requested review from
davidsbatista
and removed request for
a team
July 18, 2026 12:53
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
The Plivo integration ships only mocked unit tests, so the integration test step selected zero tests and pytest exited 5, failing the matrix. Remove it to match integrations without integration tests (datadog, github).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issues
Proposed Changes:
Adds a new
plivo-haystackintegration package so an agent can reach the phonenetwork through Plivo. It follows the existing
tools-integration pattern (e2b, github), namespace-packaged under
haystack_integrations.tools.plivo.A shared
PlivoClient, five tools, and aPlivoToolsetthat bundles them:SendSMSTool— send an SMS via the Messages APIMakeCallTool— place a call via the Call API using a caller-hosted Answer URL and no audio streaming.SendVerificationTool— start a phone-number verification and send a codeValidateVerificationTool— validate a code, reporting verified only when Plivo confirms itLookupNumberTool— look up carrier and line-type informationCredentials are read through Haystack secrets so they are not serialized in
to_dict. Also included: a per-integration CI workflow, thelabeler.ymlentry,the README Inventory line, an agent example, and pydoc config.
How did you test it?
hatch run test:unit), covering eachtool's request building, response parsing, error handling, the verify
success-message gate, and
answer_methodhandling.real carrier/line-type data, and a voice call was placed
successfully (request_uuid returned).
Notes for the reviewer
need a webhook receiver / streaming runtime, not a Haystack tool.
MakeCallToolAnswer URL is caller-supplied. The tool does not host call XML.Checklist
feat:)