Who is this article for?
This article will be useful to you if are a company on PartnerStack looking to learn about how to use triggers.
Triggers are "if-this-then-that" style workflows that help automate your partner program. You can use triggers in many ways to simplify administrative tasks such as calculating partner commissions, organizing partners to keep your program structures, or sending messages to partners.
Triggers are highly customizable and are heavily influenced by the data available through your integrations. Because of this, we highly recommend talking to your customer success expert before you start creating them yourself.
In this article, you’ll learn the basics of triggers and how you can use them to incentivize your partners.
Things to know
Here are some key things you should know about triggers:
- Triggers are internal to your program. Partners do not see the names of triggers or have any awareness that any action was the result of a trigger
- Triggers are comprised of Events, Rules, and Actions. When an Event occurs that meets the Rules, then an Action will happen.
- The PartnerStack system evaluates trigger rules at the time PartnerStack is made aware of the event, not the event timestamp itself. Read more about this in the 'Technical information' section below.
Trigger basics
This section will teach you how to create, edit, and delete triggers.
Creating triggers
To create a trigger, you must first have full trigger permissions. Check with the admin of your PartnerStack account if you need to manage triggers.
To create a new trigger:
- Log in to your PartnerStack account
- Under Advanced Settings, click Triggers to visit the Trigger menu
- Click the "Create" button (If you cannot see the button, check with your PartnerStack account admin to get full trigger permissions).
- Define your Trigger Event, Actions, and associated Rule logic
- Learn more about Events, Actions, and Rules in their own section below.
- Click "Save & Activate Trigger". Your trigger is now live and listening for the configured Event.
Editing triggers
The Event, Action, or Rules of a trigger cannot be updated. You may however make changes to the Trigger's:
- Internal name
- Active or Inactive status
Edit a Trigger's internal name:
- Under Advanced Settings, click Triggers to visit the Trigger menu
- Click "View" on the trigger you'd like to edit.
- Update the Trigger name
- Click Save
Edit a Trigger's Active/Inactive status:
- Under Advanced Settings, click Triggers to visit the Trigger menu
- Click the toggle on the trigger you'd like to update.
- Toggle the trigger to green to set the trigger as active
- Toggle the trigger to grey to set the trigger as inactive
Deleting triggers
You can Delete triggers you no longer need. Deleted triggers cannot be recovered. Follow these steps to delete a trigger
- Under Advanced Settings, click Triggers to visit the Trigger menu
- Click the trigger options (three dots) on the trigger you wish to delete
- Click Delete
- Read the prompt, and click Confirm
Configuring triggers
Triggers are comprised of Events, Rules, and Actions. When an Event occurs that meets the Rules, then an Action will happen.
Trigger events
PartnerStack support triggers events relating to the most common business events that occur in Partner programs. We actively develop new trigger events so this list is not final or exhaustive.
Don't see the event you need in-app? Reach out to your success manager or email Support@PartnerStack.com to submit a request.
Supported trigger events
A transaction is created
- A new transaction is created for a customer.
- Transactions can be created manually in-app, via webhook integration with a payment provider, Workato recipe, Zapier Zap, PartnerStack REST API or Javascript snippet, or imported into PartnerStack.
A customer is created
- A new customer is created and linked to a partner.
- Customers can be created manually in-app, via webhook integration with a payment provider, Workato recipe, Zapier zap, PartnerStack REST API, or Javascript snippet or imported into PartnerStack.
An action is created
Actions are used to capture business events like downloads, onboarding milestones, or even the user visiting a page. Actions can be created Workato recipe, Zapier zap, or PartnerStack REST API.
Examples of action types:
- A link is clicked
- A person has clicked on a partner's link. Clicks are not unique to an individual. You man click on a link multiple times to register multiple clicks.
- A partner joins a group
- A partner is manually moved into a group or automatically moved into a group as a result of another trigger's action.
- A deal stage changes
- A deal managed by a partner changes stage. Use rules to target a specific deal stage.
- A deal stage can be updated in-app or via a CRM integration.
Trigger rules
Rules are the conditions that must be met before a trigger can fire. When an event occurs in PartnerStack, the triggers engine evaluated the context of that event against your active triggers. If the context of the trigger event meets the rules of the trigger, then the system will continue with the action.
Each trigger rule is an individual condition that the trigger event will either pass or fail. Rules are made up of an Object, Field, Conditional operator, Value, and optionally one or more Filters.
Individual rules can be strung together using AND and OR conditions to model sophisticated business logic.
Supported trigger rules operators
Object | Fields | Field type | Conditional operators | Value | Details |
Partnership | Created at | Static |
|
Date | The date the partner is created in your program. If you have applications, the partner is considered created the moment they apply |
Partnership |
Age in Days Age in Months Age in Years |
Static |
|
Number (integer) | The elapsed time between the partnership's created date, and the moment of the trigger event. The first day a partner joins a program is considered day 0. |
Partnership | Group | Static |
|
Group selector | This is the group the partner is in at the time of the event. Triggers are run in priority sequence so an earlier trigger could change the partner's group. |
Partnership | Tag | Static |
|
Tag selector | Tags applied to the partner at the time of the trigger event. |
Partnership | Tier | Static |
|
Tier selector | You can select multiple Tiers by using the "in" operator options. |
Partnership | Partner key | Static |
|
Text | Partner key is the unique identified for your partner. You can fid the partner key on the partner's profile. Partner key is case sensitive! |
Partnership |
|
Aggregate |
|
Number (integer) |
The number of the specified object related to the Partner at the time of the trigger event.
The trigger event is included in the count. (The trigger fires after the object creation).
Example: A Partner who has referred 5 customers with 5 transactions each would have a total transaction count of 25. |
Partnership |
|
Aggregate |
|
Number (Financial $000.00) |
The sum of the specified object related to the Partner at the time of the trigger event.
The trigger event is included in the count. (The trigger fires after the object creation).
Example: A Partner who has referred 5 customers with 5 transactions of $20 each would have a total transaction sum of $500.00 |
Customer | Created at | Static |
|
Date |
The created date of the customer |
Customer |
|
Static |
|
Number (integer) |
The elapsed time between the customer's created date, and the moment of the trigger event.
The first day a customer is created is considered day 0.
|
Customer | Has paid | Static | is | Boolean |
If a customer has a transaction then the customer is considered to be a 'paying customer' and has_paid = True.
If the customer does not have any associated transactions then has_paid = False |
Customer |
|
Aggregate |
|
Number (Financial $000.00) |
The sum of the specified object related to the customer at the time of the trigger event. The trigger event is included in the count. The trigger fires after the object's creation. Example: A customer who has 5 transactions of $20 each would have a total transaction sum of $100. |
Customer | Transaction count | Aggregate |
|
Number (integer) |
The number of the Transaction related to the Customer at the time of the trigger event.
The trigger event is included in the count. (The trigger fires after the object creation). |
Customer | Order that paid customer was created | Static |
|
Number (integer) |
The number of paid customers attributed to a partner. Example: reward 10% for all transactions from a partner's first 5 paying customers. |
Transaction | Created at | Static |
|
Date | Date the transaction was created. Note that transactions can be future or back dated.
|
Transaction |
|
Static |
|
Number (integer) | The elapsed time between the transactions created date, and the moment of the trigger event. The day a transaction is created is considered day 0. |
Transaction | Amount | Static |
|
Number (financial $000.00) | The transaction amount at the time of the transaction trigger event. |
Transaction | Product key | Static |
|
Text | The transaction product key value at the time of the transaction trigger event. |
Transaction | Category key | Static |
|
Text | The transaction category key value at the time of the transaction trigger event. |
Filtering aggregate trigger rules
Aggregate trigger rules use functions like SUM or COUNT to provide a roll-up value for you to reference in your ruleset. By default, all objects and events are included in the aggregate calculation but we understand this might not always be appropriate.
For instance, you may want to only SUM or COUNT objects that meet certain criteria. You can achieve this by using applying one or more filters to the aggregate rules.
Working with filters
To filter an aggregate trigger rule:
- Apply an aggregate trigger rule to your trigger. Aggregate triggers end with a COUNT or SUM.
- Click "Filter the above condition"
- Enter your filter logic on the indented rule that begins with "Where"
- Add further conditions by clicking "Filter the above condition" again
- To remove a filter rule, click the trash icon next to the filter rule
In this example, this trigger will fire when a transaction is created and the Partner has $100.00 in sales for the 'Enterprise' product line.
Advanced rule logic with "AND" / "OR" blocks
Let's say you've set up a trigger and rule that rewards onboarded partners 10% for each sale, however you want to ensure your partners refer customers that stay active for at least 3 months - unless it's an enterprise sale of course! In that case, you'll give the partner the reward right away.
Rules can be grouped with conditional logic (OR, AND) to help you model the business logic that makes sense for your program and revenue streams.
Trigger rules can be configured into blocks of logic that will be evaluated together to either pass or fail. When configuring the blocks it can help to read the rules from top to bottom like a sentence to ensure you're following the desired logic.
Let's walk through the example above:
- Partner needs to be at least 90 days old
- Customer must be around for 3 months (3 months old)
- or if the customer is an Enterprise sale, then ignore that 3 months and reward instantly.
To create this logic you would:
- use an AND block to ensure all scenarios require a partner to be in the program for minimum of 90 days
- use an OR block to ensure the customer has either reached a maturity of 3 months, or is purchasing an 'enterprise' product plan
When complete, your rules would look like this:
Trigger actions
If events are the input to a trigger, the action is the output. In other words, a successfully fired trigger will result in the action you have set up.
Each action type has a corresponding configuration that lets you ensure the action fits the needs of your program.
We actively develop new trigger actions so this list is not final or exhaustive. Don't see the event you need in-app? Reach out to your success manager who can pass on the request.
Supported trigger actions and configurations
Action: Generate a reward via offer
Creates a reward for the partner associated with the trigger event.
Rewards are positive increments of currency that will appear instantly to the partner once the trigger is fired. Note that rewards required approval, and payment before the partner can withdraw from PartnerStack.
The amount rewarded to the partner is determined by the Offer associated to the trigger action
Offer Configuration
Offers are the incentives you provide to Partners for meeting the business objectives of your program. Typically these objectives involve submitting paying referrals, meeting a revenue threshold, or moving sales pipeline to closed/won.
Configuring an Offer
Offer Description
-
-
- A public facing name that describes the incentive to eligible Partner's. Examples: "10% of every monthly subscription", "$50 for your first 10 sales", "5% VIP Bonus"
-
Amount Type and Amount
-
-
- Flat: Rewards the partner a static dollar value. Enter the amount in dollars and cents and select a currency. Note that all rewards are converted to USD at the spot ForEx rate before being paid to the partner.
- Percentage: Rewards the partner a % of the value of the Trigger event. Enter the percentage of transaction the partner will receive. The trigger event must be "Transaction Created" to use a percentage amount type
-
Controlling who can see offers
Offers visibility is directly connected to the ruleset you configure in the trigger. This ensures that only Partners who are eligible to earn an offer can see it on their dashboard.
Offer visibility is controlled by Partnership rules: Group, Tier, Tag, and Partner Key.
Learn more about these rules and others in the Trigger Rules section.
Action: Change Group
Updates the group of the partner associated with the trigger event
Configuring the group move
- Move to Group
- Select the group the partner will move when the trigger successfully fires
Security and troubleshooting
The triggers system is the core functionality to fulfill the financial incentives you offer to your partners, and as such, the system is only accessible to users with permissions.
All actions within the triggers system are tracked at the database level in the audit log standard and queryable in your PartnerStack account.
Frequently asked questions
-
Why can't I create new triggers?
Full trigger permissions are required to create new triggers. You maybe have 'read-only' access to triggers which allows you to see but not create, modify, or delete triggers.
-
Can I edit live triggers?
Once a trigger is created you can edit the Internal name as well as the active status of the trigger.
If the trigger action is a reward, you can edit the name and value of the associated Offer.
-
How can I hide an offer from a Partner?
Deactivating a trigger using the toggle on the triggers list will both deactivate the trigger and hide it from partners.
-
When do my partners get rewarded?
When a partner meets your trigger conditions and earns a reward, the reward first appears in their partner Rewards & Withdrawals page tab as 'pending'. This reward is then reviewed by the company to make sure everything is attributed correctly.
Once your team approves the reward it will appear on your next rewards invoice. Once that invoice is paid, the partner will be able to withdraw their rewards.
-
How do I pay my partners?