[PR #31585] feat: add Plivo SMS and Verify API integrations #33309

Closed
opened 2026-02-21 20:53:03 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/31585

State: closed
Merged: No


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Fixes #31590

Summary

Add Plivo as a communications provider for SMS messaging and phone verification in Dify. This is a greenfield integration — no existing CPaaS providers are present in the codebase.

Changes:

  • SMS Tool Provider (api/core/tools/builtin_tool/providers/plivo_sms/): New builtin tool enabling AI agents and workflows to send SMS messages via Plivo API
  • Verify API Integration: Phone-based OTP authentication via SMS or Voice channels, integrated with AccountService
  • SMS Extension (api/extensions/ext_sms.py): Flask extension for Plivo client initialization, verification, and messaging
  • Configuration (api/configs/feature/__init__.py): New PlivoConfig with auth credentials and feature flags
  • Tests: 47 unit tests + 23 E2E integration tests with live Plivo API

New environment variables:

PLIVO_AUTH_ID, PLIVO_AUTH_TOKEN, PLIVO_VERIFY_ENABLED, PLIVO_DEFAULT_FROM_NUMBER

Screenshots

N/A — Backend-only changes, no UI modifications.

Checklist

  • This change requires a documentation update, included: Dify Document — see dify-docs#673
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran make lint and make type-check (backend) and cd web && npx lint-staged (frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/31585 **State:** closed **Merged:** No --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. Fixes #31590 ## Summary Add Plivo as a communications provider for SMS messaging and phone verification in Dify. This is a greenfield integration — no existing CPaaS providers are present in the codebase. **Changes:** - **SMS Tool Provider** (`api/core/tools/builtin_tool/providers/plivo_sms/`): New builtin tool enabling AI agents and workflows to send SMS messages via Plivo API - **Verify API Integration**: Phone-based OTP authentication via SMS or Voice channels, integrated with AccountService - **SMS Extension** (`api/extensions/ext_sms.py`): Flask extension for Plivo client initialization, verification, and messaging - **Configuration** (`api/configs/feature/__init__.py`): New `PlivoConfig` with auth credentials and feature flags - **Tests**: 47 unit tests + 23 E2E integration tests with live Plivo API **New environment variables:** ``` PLIVO_AUTH_ID, PLIVO_AUTH_TOKEN, PLIVO_VERIFY_ENABLED, PLIVO_DEFAULT_FROM_NUMBER ``` ## Screenshots N/A — Backend-only changes, no UI modifications. ## Checklist - [x] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) — see [dify-docs#673](https://github.com/langgenius/dify-docs/pull/673) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `make lint` and `make type-check` (backend) and `cd web && npx lint-staged` (frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:53:03 -05:00
yindo closed this issue 2026-02-21 20:53:03 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#33309