PHPackages                             lindemannrock/craft-formie-sms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. lindemannrock/craft-formie-sms

ActiveCraft-plugin[Mail &amp; Notifications](/categories/mail)

lindemannrock/craft-formie-sms
==============================

SMS integration for Formie - Send SMS notifications on form submission via SMS Manager

3.8.0(1mo ago)039proprietaryPHPPHP ^8.2CI passing

Since Jan 12Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/LindemannRock/craft-formie-sms)[ Packagist](https://packagist.org/packages/lindemannrock/craft-formie-sms)[ RSS](/packages/lindemannrock-craft-formie-sms/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (18)Versions (16)Used By (0)

Formie SMS Plugin for Craft CMS
===============================

[](#formie-sms-plugin-for-craft-cms)

[![Latest Version](https://camo.githubusercontent.com/e0ae6d824d56e5a4aaf4458d0320cafdf089040f73d724e6107ef0df4aa34672/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c696e64656d616e6e726f636b2f63726166742d666f726d69652d736d732e737667)](https://packagist.org/packages/lindemannrock/craft-formie-sms)[![Craft CMS](https://camo.githubusercontent.com/c176c7ad994b4d577c758871323311a223477bd0cd427c40a8472fd0cad04992/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4372616674253230434d532d352e302b2d6f72616e67652e737667)](https://craftcms.com/)[![Formie](https://camo.githubusercontent.com/29b31abd3a720b332edc5b3ffe9c13a5e8e17fdd133ebf676003713d455f0727/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466f726d69652d332e302b2d707572706c652e737667)](https://verbb.io/craft-plugins/formie)[![SMS Manager](https://camo.githubusercontent.com/ad1b82b47162eee3c238394a3a782bbda05740064949a2e959cad46032aa4525/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f534d532532304d616e616765722d352e302b2d677265656e2e737667)](https://github.com/LindemannRock/craft-sms-manager)[![PHP](https://camo.githubusercontent.com/5fe05c705bf034839bda7651781e4d0a9d42f4a840478ca5e343873a0361bb89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322b2d626c75652e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/0a81422424188abc891667d25165cd6c1acbfa57055dad56c8bc3acd60e1540f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c696e64656d616e6e726f636b2f63726166742d666f726d69652d736d732e737667)](LICENSE)

A Craft CMS plugin that integrates Verbb's Formie with SMS Manager, enabling SMS notifications on form submission with multi-provider support and language filtering.

License
-------

[](#license)

This is a commercial plugin licensed under the [Craft License](https://craftcms.github.io/license/). It will be available on the [Craft Plugin Store](https://plugins.craftcms.com) soon. See [LICENSE.md](LICENSE.md) for details.

⚠️ Pre-Release
--------------

[](#️-pre-release)

This plugin is in active development and not yet available on the Craft Plugin Store. Features and APIs may change before the initial public release.

Requirements
------------

[](#requirements)

- Craft CMS 5.0 or greater
- PHP 8.2 or greater
- [Formie](https://verbb.io/craft-plugins/formie) 3.0 or greater
- [SMS Manager](https://github.com/LindemannRock/craft-sms-manager) 5.0 or greater

Features
--------

[](#features)

- **SMS Notifications**: Send SMS messages when forms are submitted
- **Multi-Provider Support**: Use any SMS provider configured in SMS Manager
- **Multiple Sender IDs**: Select sender IDs per form with provider-based filtering
- **Dynamic Recipients**: Use form field values as recipient phone numbers
- **Rich Message Content**: Include form field data in SMS messages using Formie's variable system
- **Language Filtering**: Only send SMS for submissions from specific language sites
- **RTL Support**: Automatic right-to-left text direction for Arabic messages
- **Analytics Integration**: SMS usage tracked in SMS Manager's analytics

Installation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
cd /path/to/project
```

```
composer require lindemannrock/craft-formie-sms
```

```
./craft plugin/install formie-sms
```

### Using DDEV

[](#using-ddev)

```
cd /path/to/project
```

```
ddev composer require lindemannrock/craft-formie-sms
```

```
ddev craft plugin/install formie-sms
```

### Via Control Panel

[](#via-control-panel)

In the Control Panel, go to Settings → Plugins and click "Install" for Formie SMS.

Configuration
-------------

[](#configuration)

### Prerequisites

[](#prerequisites)

Before using Formie SMS, ensure SMS Manager is configured with:

1. At least one **enabled provider** (e.g., MPP-SMS)
2. At least one **enabled sender ID** linked to that provider

### Step 1: Create SMS Integration

[](#step-1-create-sms-integration)

1. Go to **Formie → Settings → Integrations**
2. Click **New Integration** and select the integration (displays as your SMS Manager plugin name) under **Miscellaneous**
3. Configure the integration:
    - **Name**: Give your integration a name (e.g., "SMS Notifications")
    - **Handle**: Unique identifier (auto-generated or custom)
4. Save the integration

### Step 2: Enable for Forms

[](#step-2-enable-for-forms)

1. Edit your Formie form
2. Go to the **Integrations** tab
3. Enable your SMS integration
4. Configure the SMS settings:

**Provider**: Select which SMS provider to use from your SMS Manager providers.

**Sender ID**: Select the sender ID (filters automatically based on selected provider).

**Recipient(s)**: Enter phone numbers or use form field variables:

- Static: `+96512345678`
- Dynamic: `{field.phoneNumber}`
- Multiple: `+96512345678, {field.alternatePhone}`

**Message**: Compose your SMS using Formie's rich text editor with variable tags:

```
New form submission from {field.name}!
Email: {field.email}
Phone: {field.phone}

```

**Language Filter**: Choose when to send SMS:

- **Any Language**: Send for all submissions
- **Specific Language**: Only send when form is submitted from a specific site language (e.g., English, Arabic)

5. Save the form

Usage
-----

[](#usage)

### Dynamic Recipients

[](#dynamic-recipients)

Use Formie's variable system to pull recipient numbers from form fields:

```
{field.phoneNumber}

```

For multiple recipients, separate with commas:

```
{field.primaryPhone}, {field.secondaryPhone}, +96512345678

```

### Message Templates

[](#message-templates)

Use any form field in your message:

```
Thank you {field.firstName}!

Your order #{field.orderNumber} has been received.

We will contact you at {field.email}.

```

### Language Filtering

[](#language-filtering)

When "Language Filter" is set to a specific language:

- SMS is **only sent** when the form is submitted from a site matching that language
- Useful for multi-site setups where you want different SMS behavior per language
- Set to "Any Language" to send for all submissions regardless of site

### Provider and Sender ID Selection

[](#provider-and-sender-id-selection)

The Sender ID dropdown automatically filters based on the selected Provider:

- Selecting a Provider shows only Sender IDs belonging to that provider
- Changing Provider updates available Sender IDs
- Both must be selected for the integration to work

How It Works
------------

[](#how-it-works)

1. User submits a Formie form
2. Formie triggers the SMS integration
3. Plugin checks language filter (if configured)
4. Recipient phone numbers are parsed from the settings (with variables resolved)
5. Message content is rendered with form field values
6. SMS is sent via SMS Manager using the configured provider and sender ID
7. Delivery is logged in SMS Manager's SMS Logs
8. Analytics are updated in SMS Manager's Analytics

Multi-Site / Multi-Language
---------------------------

[](#multi-site--multi-language)

For multi-site installations with different languages:

**Example Setup:**

- Site 1: English (en)
- Site 2: Arabic (ar)

**Use Case 1: Different SMS for each language**

- Create two SMS integrations (one per language)
- Set Language Filter to the respective language
- Configure different messages for each

**Use Case 2: SMS only for Arabic submissions**

- Create one SMS integration
- Set Language Filter to "ar"
- Arabic site submissions get SMS, English submissions don't

**Use Case 3: SMS for all submissions**

- Create one SMS integration
- Set Language Filter to "Any Language"
- All submissions trigger SMS regardless of site

Analytics
---------

[](#analytics)

All SMS sent through Formie SMS are tracked in SMS Manager:

- **SMS Logs**: Full delivery history with message content
- **Analytics**: Aggregated statistics by date, provider, sender ID
- **Source Tracking**: Shows "formie-sms" as source plugin

View analytics at **SMS Manager → Analytics** and logs at **SMS Manager → SMS Logs**.

Troubleshooting
---------------

[](#troubleshooting)

### Integration Not Appearing

[](#integration-not-appearing)

- Ensure both **Formie** and **SMS Manager** plugins are installed and enabled
- Clear all caches: `php craft clear-caches/all`
- Check plugin is enabled in Settings → Plugins

### No Providers or Sender IDs Available

[](#no-providers-or-sender-ids-available)

- Verify SMS Manager has at least one enabled provider
- Verify SMS Manager has at least one enabled sender ID linked to an enabled provider
- Check the provider/sender ID is not disabled

### SMS Not Sending

[](#sms-not-sending)

1. **Check Language Filter**: If set to a specific language, verify form was submitted from matching site
2. **Check Recipients**: Ensure phone numbers are valid and properly formatted
3. **Check Provider Status**: Verify provider is enabled in SMS Manager
4. **Check SMS Manager Logs**: View logs at SMS Manager → SMS Logs for error details
5. **Check System Logs**: Review storage/logs for detailed error messages

### Message Content Empty

[](#message-content-empty)

- Ensure field handles match exactly (case-sensitive)
- Use the variable picker in the message editor
- Test with a simple static message first

### Sender ID Dropdown Stays Disabled

[](#sender-id-dropdown-stays-disabled)

- Select a Provider first
- Ensure the selected Provider has at least one enabled Sender ID

Events
------

[](#events)

The plugin fires standard Formie integration events:

```
use verbb\formie\events\SendIntegrationPayloadEvent;
use verbb\formie\services\Integrations;
use yii\base\Event;

Event::on(
    Integrations::class,
    Integrations::EVENT_BEFORE_SEND_PAYLOAD,
    function(SendIntegrationPayloadEvent $event) {
        // Access the submission
        $submission = $event->submission;

        // Check if it's our SMS integration
        if ($event->integration instanceof \lindemannrock\formiesms\integrations\miscellaneous\Sms) {
            // Modify or cancel the send
            // $event->isValid = false; // Cancel
        }
    }
);
```

Support
-------

[](#support)

- **Documentation**:
- **Issues**:
- **Email**:

License
-------

[](#license-1)

This plugin is licensed under the [Craft License](https://craftcms.github.io/license/). See [LICENSE.md](LICENSE.md) for details.

---

Developed by [LindemannRock](https://lindemannrock.com)

Built for use with [Formie](https://verbb.io/craft-plugins/formie) by Verbb and [SMS Manager](https://github.com/LindemannRock/craft-sms-manager)

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance89

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Recently: every ~17 days

Total

14

Last Release

41d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/88c830ac26a6d6b575430b14695a81810dc436a5d5be138e5ec28a367a314cae?d=identicon)[bhlindemann](/maintainers/bhlindemann)

---

Top Contributors

[![bhlindemann](https://avatars.githubusercontent.com/u/81223527?v=4)](https://github.com/bhlindemann "bhlindemann (45 commits)")

---

Tags

craft-cmscraft-plugincraftcmsform-notificationsformieintegrationnotificationsphpsmsverbbsmscmsintegrationCraftcraftcmscraft-pluginformie

### Embed Badge

![Health badge](/badges/lindemannrock-craft-formie-sms/health.svg)

```
[![Health](https://phpackages.com/badges/lindemannrock-craft-formie-sms/health.svg)](https://phpackages.com/packages/lindemannrock-craft-formie-sms)
```

###  Alternatives

[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[craftpulse/craft-notifications

Send notifications across a variety of delivery channels, including mail and Slack. Notifications may also be stored in a database so they may be displayed in your web interface.

551.2k](/packages/craftpulse-craft-notifications)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
