# Funnel Campaign Model
| DB Table Name | {wp_db_prefix}_fc_campaigns |
|---------------|------------------------------------------------------------------------|
| Schema | Check Schema |
| Source File | fluent-crm/app/Models/FunnelCampaign.php |
| Name Space | FluentCrm\App\Models |
| Class | FluentCrm\App\Models\FunnelCampaign |
## Global Scope
Extends `Campaign` with `type = 'funnel_email_campaign'`. Shares the `fc_campaigns` table but is automatically scoped to funnel emails only.
## Usage
FunnelCampaign inherits all attributes, relationships, and methods from the Campaign Model.
### Additional Methods
#### getMock()
Returns a default blank campaign structure for the funnel email UI
- Returns `array`
```php
$mock = FluentCrm\App\Models\FunnelCampaign::getMock();
```
#### sendToCustomAddresses($addresses, $args, $refSubscriber)
Send funnel emails to arbitrary email addresses
- Parameters
- $addresses `array` — email addresses
- $args `array` — additional campaign email arguments
- $refSubscriber `Subscriber` — reference subscriber for parsing
- Returns `void`
```php
$funnelCampaign->sendToCustomAddresses(
['custom@example.com'],
['scheduled_at' => current_time('mysql')],
$subscriber
);
```
#### subscribe($subscriberIds, $emailArgs, $isModel)
Enqueue funnel emails for subscribers (overrides Campaign's method with funnel-specific body parsing and tracking)
- Parameters
- $subscriberIds `array`
- $emailArgs `array`
- $isModel `boolean`
- Returns `array` — inserted CampaignEmail IDs
```php
$emailIds = $funnelCampaign->subscribe([1, 2, 3]);
```