---
title: Feed Triggers
description: "Feed triggers control **when** your feed runs and tasks are sent to Asana. Every feed requires one trigger so the plugin knows the exact point in the form’s lifecycle to execute. ### Available Triggers - **Form Submission (Free)** Runs the…"
url: "https://brightleafdigital.io/docs/feed-triggers/"
updated: "2026-10-18"
category: Integrate Asana with Gravity Forms / Settings Reference
---

# Feed Triggers

Feed triggers control **when** your feed runs and tasks are sent to Asana. Every feed requires one trigger so the plugin knows the exact point in the form’s lifecycle to execute.

### Available Triggers

- **Form Submission (Free)** Runs the feed immediately after a form entry is submitted and created. This is the simplest, most common option for creating a task right away.
- **Subscription Canceled (Premium)** Runs when a subscription linked to a **selected payment feed** is canceled. You must pick the related payment feed from the dropdown in the trigger settings. **Use cases:** Start offboarding, notify teams, or archive accounts when a subscription ends. **Notes:** Requires a payment add‑on and an active payment feed.
- **Payment Failure (Premium)** Runs when a payment associated with the entry fails. No additional configuration is needed besides choosing this trigger. **Use cases:** Create follow‑up tasks to recover failed payments or escalate issues to finance/support.
- **Notification Sent (Premium)** Runs when one or more **selected Gravity Forms notifications** are sent. You can choose multiple notifications from the dropdown. **Use cases:** “Create task after the confirmation email goes out,” or trigger follow‑ups tied to a particular notification.
- **Notification Failure (Premium)** Runs only when one or more **selected notifications** fail to send (as detected by Gravity Forms). You can select multiple notifications. **Use cases:** Alert a team when critical emails aren’t delivered so someone can follow up manually.

### Notification Merge Tags (Premium)

Feeds using the **Notification Sent** or **Notification Failure** triggers can put the notification that fired them straight into the task, through an extra set of merge tags available in the **Task Name** and **Description**:

| Merge tag | Contains |
| --- | --- |
| `{notification:subject}` | The notification's rendered subject line. |
| `{notification:message}` | The notification's rendered message body. |
| `{notification:to}` | The recipient address(es) the notification was addressed to. |
| `{notification:name}` | The name of the notification, as it appears in the form's notification list. |
| `{notification:id}` | The notification's ID. |
| `{notification:format}` | The message format: `html`, `text` or `multipart`. |
| `{notification:status}` | `sent` or `failed`. |
| `{notification:error}` | The send error, when there is one. Empty on a successful send. |

The body and subject arrive **already rendered**, exactly as the recipient received them. That matters when a notification contains merge tags that only exist inside its own send — an add-on that raises a notification for an event of its own can pass extra data along with it (for example an error message), and those values have no meaning outside that notification. `{notification:message}` captures the finished text, so the task shows the same detail the email did.

The message is the body only: the surrounding HTML document or multipart envelope that Gravity Forms adds for sending is removed, and unsupported markup is stripped the same way as in any other description. A body over 60,000 characters is truncated, because Asana rejects a longer description outright.

These tags are only populated for the two notification triggers. On any other trigger there is no notification to report, and they resolve to nothing.

### Using Multiple Triggers

If you want a feed to run on more than one event (e.g., **Form Submission** *and* **Subscription Canceled**), create **separate feeds**—one per trigger. If most settings are identical, duplicate the feed and only change the trigger.

### Conditional Logic

You can pair any trigger with Conditional Logic to control when the feed actually runs—helpful when you only want tasks created under specific conditions.
