Connect Partially to Thinkific with Zapier
Connect Partially to Thinkific with Zapier
You can use Partially, Zapier, and Thinkific together to offer a payment plan for a Thinkific course or bundle. When a customer opens a Partially payment plan, Zapier enrolls the customer in Thinkific. If the payment plan defaults, Zapier removes their access.
This setup uses a fixed-price Partially offer and at least two Zaps:
- Enrollment Zap:
plan_openedin Partially → Enroll User in Thinkific - Access-removal Zap:
plan_defaultedin Partially → Unenroll User in Thinkific - Optional cancellation Zap:
plan_canceledin Partially → Unenroll User in Thinkific
Before you begin
You need:
- An active Partially merchant account
- A Partially offer configured for the full price of the Thinkific course or bundle
- Your Partially API key, found under Settings → General
- A Thinkific Grow plan or higher; Thinkific's Zapier enrollment and unenrollment actions are not available on lower plans
- Thinkific Site Owner or Site Admin access
- A paid Zapier plan that includes Webhooks by Zapier
Decide how access should work before building the Zaps. Most merchants remove access when a plan defaults. Removing access when a merchant or customer cancels a plan is optional and should match your cancellation policy.
Step 1: Create the enrollment Zap
- In Zapier, create a Zap.
- Select Webhooks by Zapier as the trigger app.
- Select Catch Hook as the trigger event.
- Copy the unique webhook URL Zapier provides. Treat this URL as private.
- In Partially, go to Settings → Webhooks and add the Zapier webhook URL.
- Subscribe the webhook to
plan_opened. - Send a test webhook from Partially, then return to Zapier and load the test record.
- Add Thinkific as the action app and choose Enroll User.
- Connect the Thinkific site using an Owner or Admin account.
- Select the Thinkific course or bundle.
- Map the customer's email address, first name, and last name from the Partially webhook record. Email is the key field used to identify the student.
- Test the action and confirm that the test student is enrolled in the correct Thinkific product.
- Publish the Zap.
Thinkific can create a new student during the Enroll User action if the email address does not already belong to a user. If the user exists, Thinkific adds the new enrollment to that user.
Step 2: Create the access-removal Zap
- Create another Zap with Webhooks by Zapier → Catch Hook as the trigger.
- Copy its new webhook URL.
- In Partially, add the URL under Settings → Webhooks and subscribe it to
plan_defaulted. - Send a test webhook and load the record in Zapier.
- Add Thinkific → Unenroll User as the action.
- Select the same course or bundle used in the enrollment Zap.
- Map the customer's email address from the Partially webhook record.
- Configure the action to end enrollment immediately, unless your access policy uses a future end date.
- Test the action and confirm that the test student's access is removed.
- Publish the Zap.
In Partially, plan_defaulted occurs after three consecutive failed payment attempts. A failed payment by itself does not trigger this access-removal Zap.
To remove access when a plan is canceled, repeat this process with a separate webhook and Zap subscribed to plan_canceled. Do not add this automation unless it matches your cancellation policy.
Step 3: Add a Pay with Partially button in Thinkific
Thinkific courses and bundles use fixed prices, so the button can link directly to a fixed-price Partially offer. No live cart total or custom code is required.
- In Partially, open the integration tool for the matching offer and generate a shareable checkout URL.
- In Thinkific, open Design Your Site and edit the course or bundle landing page in Site Builder.
- Add a section that supports a button, or edit an existing button block.
- Enter button text such as Pay with Partially or Start a payment plan.
- Set the button link to A custom URL.
- Paste the Partially checkout URL and save the page.
- Publish the page and test the button while logged out or in a private browser window.
Add the Partially button as a second payment option rather than replacing Thinkific's standard purchase button. This lets customers choose between Thinkific checkout and Partially.
Create a separate Partially offer and button for each Thinkific product or price that needs different payment-plan terms.
Test the complete customer flow
Before publishing the payment option to customers:
- Open the Thinkific sales page in a private browser window.
- Select the Partially button and open a test payment plan.
- Confirm that the enrollment Zap ran successfully.
- Confirm that the correct Thinkific user was created or updated and enrolled in the correct course or bundle.
- Trigger a test default event and confirm that the access-removal Zap ran successfully.
- Confirm that the student's access was removed from the correct product.
Troubleshooting
The Thinkific enrollment actions are missing in Zapier
Thinkific's Enroll User and Unenroll User Zapier actions require the Thinkific Grow plan or higher. Confirm the site's current plan and reconnect Thinkific in Zapier after an upgrade.
Zapier does not receive the Partially event
- Confirm that the Zapier Catch Hook URL was copied exactly into Partially → Settings → Webhooks.
- Confirm that the webhook is subscribed to the event used by that Zap.
- Use Partially's webhook testing tool, then reload the test record in Zapier.
- Do not expose or reuse another Zap's Catch Hook URL by mistake.
The student is enrolled in the wrong product
Open the Thinkific action step and verify the selected course or bundle. Each fixed-price Partially offer should map to one intended Thinkific product.
A student is not found during unenrollment
Confirm that the unenrollment Zap maps the same customer email field used by the enrollment Zap. Also verify that the customer did not use different email addresses in Partially and Thinkific.
The button works in Site Builder but not on the live page
Publish the latest page changes and test the live page while logged out. Verify that the complete Partially checkout URL, including https://, is in the button's custom URL field.