This implementation guide has two parts. Part 1: Selecting your subscription management (sub mgmt) method. Part 2: Designing and diagramming your post mgmt flow. When you’re finished, you will know which mgmt method to use for end-customers, which to use for your staff, and have finished diagrams for your Post-Management Flows.
Part 1: Choose your method Part 2: Post sub-mgmt workflow
Summary
- Chargify Feature
- All subscription mgmt methods: Billing Portal, API, Chargify Admin UI, Salesforce, Hubspot
- You Need
- An understanding of how end-customers, and your staff, manage subscriptions; your post-management flows (if any).
- Code
- No
- Difficulty
- ◉◎◎◎◎
Self-Assessment 1: Subscription Management Methods
In this Self-Assessment, you will review Chargify's mgmt methods, and select the best method for your business.
There are 6 mgmt methods.
1. Choose one for your end-customers (if applicable)
2. Choose one for your staff (if applicable)
3. Review the implementation overview tab, to determine if the implementation approach matches your preferences.
Mgmt Methods
Review the signup methods below, and select your preferred method for your End-Customers, and/or for your Staff.
Method |
For your |
Reasons to use |
Billing Portal |
End-Customer |
Most common. No code, quick launch. |
API |
End-Customer |
Fully custom, fully in your control. Deployed in a web app. |
None |
End-Customer |
You do not allow your customers to self-manage their subscriptions. |
Chargify Admin UI |
Staff |
Most common for Staff. No code, no implementation. |
Salesforce |
Staff |
Your company uses Salesforce to manage subscriptions, and wants all changes to sync to Chargify. |
Hubspot |
Staff |
Your company uses Hubspot to manage subscriptions, and wants all changes to sync to Chargify. |
Review what an implementation would look like.
|
End-customer |
Staff |
|||
|
Billing Portal |
API |
Chargify Admin UI |
Salesforce |
Hubspot |
Implementation Path |
Link from email invite, website, or in app button |
In your app. All actions are API based. Use chargifyjs for any payment info collection. |
None needed |
Installation Needed |
Installation Needed |
Code |
None to little |
Some coding to heavy coding |
None |
None |
None |
UI Customization |
Logo, some CSS |
Full control |
n/a |
n/a |
n/a |
Domain |
billingportal.com/s/ |
Yours |
n/a |
n/a |
n/a |
Review the information below to ensure compatibility.
End-Customer |
Staff |
||||
Structure |
Billing Portal |
API |
Chargify Admin UI |
Salesforce |
Hubspot |
Standard |
|||||
Grouped | |||||
Parent/Child | |||||
Standalone Parent |
|||||
Standalone Child |
End-Customer |
Staff |
||||
Method |
Billing Portal |
API |
Chargify Admin UI |
Salesforce |
Hubspot |
Credit Card |
Use Chargifyjs | ||||
Remittance |
|||||
ACH |
Use Chargifyjs | ||||
Direct Debit |
Use Chargifyjs | ||||
SEPA |
Use Chargifyjs | ||||
PayPal |
Use Chargifyjs | ||||
ApplePay |
Use Chargifyjs | ||||
Other |
Question 1
If your method from Part 1 is Billing Portal, how do you want your users to authenticate into it?
Answer |
How it Works |
Email Invite |
When a new subscription is created, a Billing Portal Invite email is automatically sent to the user, and the email contains a one-time access link to user Bililng Portal. Upon clicking the link, the user is logged in for the first time, and they are prompted to set a password. For each subsequent login, the user signs in with their email (the one used when signing up for their subscription) and password. |
Login Page |
On your website (typically in a menu, header bar, or footer bar), link directly to the main login page for your company's Billing Portal. The user signs in with their email (the one used when signing up for their subscription) and password. |
In App Button |
Inside your web app, a logged in user clicks a “Manage My Subscription” button. When clicked, a new browser window opens, and the Billing Portal loads. |
Based on your research in step 1 and 2, and based on your answer to step 3, find your guide. Below this chart, find your diagram.
If you chose... |
and authentication is... |
Your guide is... |
Billing Portal | Email Invite | 1. Configure the Billing Portal 2. Configure login with Email Invite |
Login Page |
1. Configure the Billing Portal |
|
In App Button |
1. Configure the Billing Portal |
|
API | n/a (api is already in your app) | Build your own portal with the API |
None |
n/a (no users) |
n/a |
Chargify Admin UI |
n/a (Staff) |
Guide does not yet exist. These features are prebuilt and straightforward to use. For assistance, please ask your IC. |
Salesforce |
n/a (Staff) |
Guide does not yet exist. These features are prebuilt and straightforward to use. For assistance, please ask your IC. |
Hubspot |
n/a (Staff) |
Guide does not yet exist. These features are prebuilt and straightforward to use. For assistance, please ask your IC. |
Design & Diagram: Your Post Sub Mgmt Workflow
Designing your post subscription management (sub mgmt) workflow is an important step, and typically one of the most difficult. You have an idea of what the end result should be, but it's difficult to determine exactly how to do it, and have it be easy to understand. To help, we're sharing a simple framework to think about your workflow, and providing clone-able LucidChart diagram templates that will walk you through the exact questions to ask when building your workflow.
Workflows can be complex, but this framework will help you simplify. There are 3 parts to the workflow:
Workflow Section | Description |
1. Trigger | How the workflow begins. Typically a Chargify webhook (or perhaps real-time if you're using Chargifyjs or API responses as triggers). |
2. Data | Determining the data you need, finding where it exists within Chargify data. |
3. Action(s) | Now that you have all of the data, you apply optional filters (eg: if subscription is active), and then you perform the action that matters. There are 2 types of actions: 1. Chargify Action - making an API call to Chargify, such as updating a subscription. 2. Database Action - making a database request in your system, such as updating a user's subscription status to active |



Lucidchart
Each template is powered by LucidChart, an industry leader in diagramming software. You may have an account already, but if you don't, just click on a template below and LucidChart will prompt you to create a free trial. From there, clone the template into your account, by clicking File > Duplicate.
Template | Design a workflow that... | Example | Get Template* Free LucidChart account required |
Chargify Action | Makes a Chargify API Action in Chargify. | When a subscription is canceled, change the user's plan. | Open in Lucidchart |
Database Action | Talks to your database. | When a subscription is canceled, set the user as canceled in your database. | Open in Lucidchart |
Chargify Action & Database Action | Makes a Chargify API Action in Chargify and talks to your database. | When a subscription is canceled, change the user's plan, and set the user as canceled in your database. | Open in Lucidchart |
Section 1: Trigger
The trigger represents how the workflow begins. With post sub mgmt workflows, you'll need to determine the webhook. See full list of webhooks.
Commonly used:
- subscription_state_change - used to detect status changes (eg: active to canceled)
- invoice_issued - used to detect when a new issued invoice is created
- component_allocation_change - used to detect user seat changes
- subscription_product_change - used to detect plan changes
Using the API to perform subscription updates?
If you are using the API to perform actions such as plan changes, there are times when you want a real-time workflow, such as changing a user's plan in your database which unlocks new features in your app. In your diagram, simply replace the webhook trigger with a "Real-time" trigger.

Section 2: Data
Spend some time determining all of the data you need to make your workflow come to life.
If there are any remaining data points not in the webhook, an API call needs to be added to fetch the data. A common example is getting the number of user seats.
Section 3: Action(s)
There are 2 actions in post sub mgmt workflows: a Chargify Action (an API request to Chargify to create/update a record), a Database Action (to update your web application).
If you are doing a Chargify Action, such as updating the next billing date, your diagram might look like this:
If you are doing a Database Action, such as setting a user's status to active, your diagram might look like this:
There are 3 implementation methods for any type of workflow.
Method | Select if... | Example |
No Code | You already know the system that will power the workflow for you, or you hire a developer. | You hire a developer. |
Low Code | You already know the system that will power the workflow for you, and some small code is required. | Zapier |
Custom CodeMost common Developers |
You, or your team, are developers who plan on writing custom code to build the workflow. | You build an endpoint in your app that accepts Chargify webhooks and executes the workflow. |
as needed
If you have more than 1 post sub mgmt workflow, repeat steps 1-3 as needed.
You're ready to get started. [Examples of builds coming soon]
Diagram Template Collection
Workflow | Get Template* Free LucidChart account required |
On subscription state change, update user status in database | Open in Lucidchart |
When a user changes plans, update user's plan in database | Open in Lucidchart |
When a user upgrade/downgrades user seats, update user seat count in database | Open in Lucidchart |
FAQs
1. Can Chargify help me build my workflow?
No.
2. Can Chargify help me determine which API endpoints and webhooks to use?
Yes, depending on your Chargify Onboarding Plan. Ask your Implementation Consultant.