How to integrate Shopify and TalentLMS

Shopify is a complete ecommerce solution that allows you to set up an online store to sell your goods. It lets you organize your products, customize your storefront, accept credit card payments, track and respond to orders.

The following guide assumes that you already have a Shopify and a TalentLMS account.

New customer in Shopify


Every time a new customer places an order with your Shopify store, their name and info are automatically added to your customer list. However, you can also manually add a customer to this list (for example, if you want to send them an account invite you would first create an account for them following the steps below). Registering customers in Shopify is straight forward.



Later on, you can manage your customers and their activity in your online store through your Shopify admin account.

New Shopify customer to New TalentLMS user


Using the New customer trigger of the Zapier Shopify service you can pull new customers created in your Shopify account and combining the results you can pipe them to the TalentLMS New user action. This way, each new customer in Shopify can be automatically created as a new user in TalentLMS.

1. First you need to choose the corresponding trigger and action. The Shopify trigger New Customer triggers when a new customer buys something and the New User TalentLMS action creates a new user in TalentLMS.



2. The second step is to connect your Shopify and TalentLMS accounts and make sure that they are working.



3. The next step would be to filter your Shopify data. In the case of integrating, with TalentLMS you can ignore this step.



4. The following step would be to actually match the data coming out of Shopify to the necessary information to input to TalentLMS.



The fields that need to be filled are marked as required, while those that can be left blank are marked as optional. A list of all the fields is the following:
  • First Name: This is the first name of the new user to be created in TalentLMS.
  • Last Name: This is the last name of the new user to be created in TalentLMS.
  • Email: This is the email of the new user to be created in TalentLMS.
  • Login: This is the username of the new user to be created in TalentLMS.
  • Password: This is the password of the new user to be created in TalentLMS.
  • Group: This optional field indicates the group that the new user would be assigned automatically once he is created. If left blank the new user will not be assigned to any group.


  • Branch: This optional field indicates the branch that the new user would be assigned automatically once he is created. If left blank, the new user will not be assigned to any branch.

For some fields there is a straight forward relation between Shopify and TalentLMS. So, for example the first name of the new customer in Shopify can be directly used to fill in the first name of the new user to be created in TalentLMS. The same goes for last name and email. Just click on insert field and selected the corresponding input value. Regarding the login and password of the new user in TalentLMS there is no direct correlation. In this case the best practice would be to fill in some unique values for those fields. So for example you can use the user’s email as the username for the new user in TalentLMS. A more advanced solution would be to use a combination of some values as in the following figure. In any case, this is left up to your preference.

Regarding the password field, the best practice would be to have a static value placed for each new user to be created in TalentLMS, which would be communicated to your users, and have your users have to change their password as soon as they login the first time to TalentLMS.

Note: The above describe the process of creating a new user in TalentLMS from the data pulled from Shopify, each time a new customer is created. Similarly, the opposite function can be defined, meaning that you can use the New User trigger of TalentLMS and the New Customer action of Shopify, to have each new user created in TalentLMS created as a new customer in Shopify.

Regarding all this information about Shopify customers, such as address, country etc… you can define such information about your TalentLMS users creating custom fields. Once so, you can match up the corresponding fields also through Zapier.

The result of the above action would be to have your customers created automatically as TalentLMS users.


New product in Shopify

 
A product is an individual item for sale in a Shopify store. Products can be physical goods which are shipped to your customers. You can also list digital download products or a service. In the case of integrating Shopify with TalentLMS your products would be TalentLMS courses, meaning that you are actually selling a service.

Create a new product; give it title and a description. Add images for your products and set prices, inventory options, and shipping attributes. By default, when you add a new product to your Shopify store, a "requires shipping" setting is enabled. You can disable that setting to tell Shopify you are not selling a physical product.


You can later manage your products in Shopify through your admin interface.

New Shopify product to New TalentLMS course


Assuming the case that you use Shopify to promote and sell you courses, then Shopify products are essentially courses, and integration between Shopify and TalentLMS can be achieved easily.

Using the New product trigger from the Zapier Shopify service you can pull new products created in your Shopify account and combining the results you can pipe them to the TalentLMS New course action. This way each new product in Shopify can be automatically created as a new course in TalentLMS.

1. First you need to choose the corresponding trigger and action. The Shopify trigger New Product triggers when a new product is created and the New Course TalentLMS action creates a new course in TalentLMS.



2.    The second step is to connect your Shopify and TalentLMS accounts and make sure that they are working.
3.    The next step would be to filter your Shopify data. In the case of integrating with TalentLMS, you can ignore this step.
4.    The following step would be to actually match the data coming out of Shopify to the necessary information to input to TalentLMS.

The fields that need to be filled are marked as required, while those that can be left blank are marked as optional. Here's a list of all the fields:
  • Course name: This is the name of the new course which is going to be created in TalentLMS.
  • Description: This is the description for the new course which is going to be created in TalentLMS.
  • Code: This is the course code of the new course which is going to be created in TalentLMS.
  • Price: The price for the new course which is going to be created in TalentLMS.
  • Time Limit: The time limit for the new course which is going to be created in TalentLMS.
  • Creator Id: The user (id) which is going to be the creator of the new course. You can select the user from the list of available users of TalentLMS.
  • Category Id: The category (id) where the new course is going to be added to, when created in TalentLMS. You can select the category from the list of available categories of TalentLMS.

For some fields there is a straight forward relation between Shopify and TalentLMS. So for example the title of the new product in Shopify can be directly used to fill in the course name of the new course to be created in TalentLMS. The same goes for the description of the course (the field Body HTML can be used in this case). The same goes for last name and email. Just click on insert field and selected the corresponding input value. Regarding the creator id and category id of the new course in TalentLMS there is no direct correlation. You can either choose for the values of the available list or even leave them blank. Those fields are optional. Regarding the price of the new course, Shopify does not provide such information about the products pulled from your account, but since payments are going to be handled by Shopify and not TalentLMS this field can also be left blank. Finally, regarding the time limit for the new course, this is something that professors in TalentLMS are going to deal with so at the time of the creation of the new course it can also be left blank.
The result of the above action would be a new course to be created in your TalentLMS account.


New Shopify order to TalentLMS user to course


Using the New order trigger of the Zapier Shopify service you can pull new orders created in your Shopify account and combining the results you can pipe them to the TalentLMS Add user to course action. This way each new paid order in Shopify can be automatically used to assign a user in TalentLMS to a TalentLMS course. The following series of screenshots illustrate how you can achieve this:

1.    First you need to choose the corresponding trigger and action. The Shopify trigger New order triggers when a new order is created and the Add User to Course TalentLMS action assigns a user to a course in TalentLMS



2.    The second step again is to connect your Shopify and TalentLMS accounts and make sure that they are working.
3.    The next step would be to filter your Shopify data. You would probably want to filter only paid orders, but again this is up to your policy of selling courses.


4.    Next step would be to match the data coming out of Shopify to the necessary information to input to TalentLMS.

The fields that need to be filled are marked as required, while those that can be left blank are marked as optional. Here's a list of all the fields:
•    User Email: This is the email of user who is going to be assigned to the course. He is the corresponding Shopify customer who completed the order.
•    Course Name: This is the name of the course which you want to assign the user who has completed the order in Shopify.
•    Course: This is the id of the course which you want to assign the user who has completed the order in Shopify, leave this blank as it is optional.
•    User: This is the id of user who is going to be assigned to the course, leave this blank as it is optional.
•    Role: This is the role that the user is going to have when assigned to the course.

For completing the fields select the option “Choose an available trigger field (advanced)”

For the field Course you should choose the Line Items name, which is essentially the name of your product in Shopify, meaning the name of your Course in Shopify.

Notice: If you have two or more products/courses with the same name the user is going to be assigned to all of them.

For the field User you should again select the option “Choose an available trigger field (advanced)” choose and select your customers email.

The third field, which is optional, is the role of the user in the course. You can either choose learner or instructor. Since your customers in Shopify are supposed to be your learners in TalentLMS you should choose learner. If you should leave this field blank, the user is going to be assigned to the course with the default role, which is learner.

The result of the above would be your TalentLMS users to be assigned to your TalentLMS course, having purchased it through Shopify.

Setting up your Shopify products and users from TalentLMS


You can follow the opposite direction from what we have described so far, meaning that you can fill in the content of your Shopify store with data from TalentLMS.

New TalentLMS course to New Shopify product


Instead of manually setting up your products in Shopify to match your TalentLMS courses, you can use Zapier to automatically have all your TalentLMS courses created as products in Shopify.

1.    First you need to choose the corresponding trigger and action. The TalentLMS trigger New Course triggers when a new course is created in TalentLMS and the New Product Shopify action creates a new product in Shopify.



2.       The second step is to connect your Shopify and TalentLMS accounts and make sure that they are working.
3.       The next step would be to filter your Shopify data. In the case of integrating with TalentLMS you can ignore this step.
4.       The following step would be to actually match the data coming out of Shopify to the necessary information to input to TalentLMS.

The fields that need to be filled are marked as required, while those that can be left blank are marked as optional. Here's a list of all the fields:
  • Title: This is the title of the new product that is going to be created in Shopify.
  • Product type: This is the type of the new product that is going to be created in Shopify.
  • Vendor: This is the vendor of the new product which is going to be created in Shopify.
  • Product Description: This is the description of the new product which is going to be created in Shopify.
  • Tags: These are the tags for the new product which is going to be created in Shopify.
  • Published At: This is the data of the publication of the new product which is going to be created in Shopify.
  • Quantity: Quantity creates a single product variation in Shopify and assigns the quantity to this variation. Also enables Shopify inventory tracking for this product.
  • Inventory Policy: This indicates what should Shopify do when inventory is exhausted: deny sales or continue selling?
  • Image URL: URL of an image to use for this new product.



For some fields there is a straight forward relation between Shopify and TalentLMS. So for example the title of the new product in Shopify would be the course name of the TalentLMS course. Product type would be course, since your products are essentially courses, and vendor would be TalentLMS, since your courses would be offered through TalentLMS.

The same goes for product description. This could be the course description you have already provided when creating the TalentLMS course. Regarding tags there is not such and information in TalentLMS about courses, but you can leave this information blank and refine it later through Shopify. Published at can be filled in with the creation date of the TalentLMS course. Quantity and inventor policy can be left blank. Finally, Image URL can be filled in by the course avatar information, which is the course image you have used when creating the course in TalentLMS.

New TalentLMS user to New Shopify customer


Instead of manually setting up your customers in Shopify to match your TalentLMS students, you can use Zapier to automatically have all your TalentLMS students created as customers in Shopify.

1.    First you need to choose the corresponding trigger and action. The TalentLMS trigger New User triggers when a new user is created in TalentLMS and the New Customer Shopify action creates a new customer in Shopify.



2.    The second step is to connect your Shopify and TalentLMS accounts and make sure that they are working.
3.    The next step would be to filter your Shopify data. In the case of integrating with TalentLMS you can ignore this step.
4.    The following step would be to actually match the data coming out of Shopify to the necessary information to input to TalentLMS.



The fields that need to be filled are marked as required, while those that can be left blank are marked as optional. 
Here's a list of all the fields:
•    First Name
•    Last Name
•    Email Address
•    Company Name
•    Street Address
•    City
•    State
•    Country
•    Zip Code
•    Phone

For all fields there is a straight forward relation between Shopify and TalentLMS. So for example the first name of the customer in Shopify would be the first name of the TalnetlMS user. The fields:
•    Company Name
•    Street Address
•    City
•    State
•    Country
•    Zip Code
•    Phone
are not part of a TalentLMS user’s profile. You can extend the user profile in TalentLMS, by creating the corresponding custom fields.


Feedback and Knowledge Base