Best answer

Incorrectly mapped email in the contact field for granting course access for Stripe Payments.


I have set up a Zap to grant customers access to an online course after a Stripe payment, but mistakenly had my own email in the “email” field since I had been testing it, so the email to grant access went to me.

I have added the student manually, but for the future, do I choose “checkout session completed” as the “event”, and then “customer details email” in the contact field for the “action”? (see screenshots) I tried to test it but it didn’t return any data, which I suppose makes sense since there is no customer or email to be tested.



Best answer by christina.d 28 April 2023, 20:59

View original

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

23 replies

Userlevel 3
Badge +4

Hi @alda 

Thanks for reaching out to the Community!

If you are looking to trigger the Zap when a new payment is made, the trigger event should be “New Payment” in Stripe as this triggers when a new payment is completed. The “Checkout Session Completed” event triggers when a checkout session is completed.

Otherwise, let me know so I can point you to the right direction.

The action on the other hand, looks like it’s mapped correctly. It says “No Data” because the sample data from your trigger step, didn’t return those values.

Try using “New Payment” as trigger and then test the Zap again. Let me know how it goes.


Hi Charie,

Thanks so much for this. I have amended the first step, but I’m getting an error in the second step, and the test is not working. See screenshots. Can you help? I want the access email to be sent to the customer who completes his or her payment on Stripe, of course -- how would I do that? Can Zapier pull that info from Stripe once the checkout is completed?

Userlevel 4
Badge +6

Hello @alda ! There are two parts to have this automation ready and working for you. Initially you have to build an automation inside Zapier to collect the Customer Information from Stripe once the transaction is complete. Make to sure add a filter step to avoid granting course access to the people whose transaction is unsuccessful. 

Would suggest using Paths with Filters to make a automated follow up through email if transaction fails and send the access email if the transaction is successful. 

Now regarding your screenshots shared, the test step will not work as there is no data available to test the Access Action Step in Systeme io. So I would suggest you to purchase the product that you created in stripe and then you will be able to map all the customer data like email and send it to Systeme io.                                 Later you have to create another workflow inside that platform to send automated email adding the tags to the contact. Please let me know if you have any questions. 



Thanks @Satya09 for your reply. Can you, or someone, give me a better idea of how I would do that? Do you  mean that I would need three steps instead of two? Right now I have the first trigger as a new payment in Stripe … would I build the automation for email addresses to be collected after this step, and then in the third step grant access to the course? What is second procedure or event called, in that case? I’m totally new to Zapier and have never done this before so I’m fumbling around in the dark here … I need instructions fit for a six-year old 

Userlevel 4
Badge +6

Yes @alda you must have a Path with filters step to ensure that you dont grant access to the people whose transaction got failed. The third step is granting access. But to send an email I am not sure if Systeme io sends an email automatically once a contact is granted access to the course. So I assume you would also need to create a workflow inside Systeme io to send an email on granting access.


@Charie are you able to help me further with this? I have no idea how to get Zapier to pull email addresses and names from Stripe. I have changed the trigger event to “new payment” but it is still not working. The error message I get is “Required field "Email" (email) is missing.” I’d really appreciate any guidance you can give me. 

Userlevel 7
Badge +6

Hi @alda,

I’m jumping in to see if I can help!

Whenever you see those {{...}} curly braces around entries in the Data In of an action, this means that there is a field mapped there in the Zap Editor, but when the Zap ran live this data was not sent from a previous step.

I suggest loading in a latest sample data from the trigger step by clicking on “Load more” and after that remapping the mapped data on the action step. You should be able to search the email address by using the “@” symbol in the search bar. Like so:

(view larger)

Please give that a try, and keep us posted.

Thanks! 😊


Thanks so much @ken.a for jumping in to help!

I’m afraid I need idiot-proof instructions for this … I’ve never used Zapier before, this is all so new and some of the language doesn’t make sense to me, e.g. “entries in the Data In of an action” … “field mapped there in the Zap Editor”, “remapping the mapped data on the action step”.

What I have ascertained so far is that the action step works ok, the payment is made and cleared, and there is a trigger for the second step, which is “Create or Update a Contact and Grant Access to Course”. However, when it comes to the action, there is no data for email or customer name. It seems that has not been gleaned from the Stripe payment that the customer has made. (see screenshots)

I received an email from Zapier when the latest payment was made stating that there was a problem with my Zap and that the required email field is missing (see screenshot), which I presume is because the info has not been pulled from Stripe.

I don’t see anything that reads “load more” in either step, so not sure what to do with that info.

Grateful for any advice.


Userlevel 7
Badge +6

Hi @alda,

No worries, I’ll try to explain it step by step to make it easier to follow. 😊

  1. When you navigate to your Zap History by clicking it on the right side of the Zap editor and clicking on the errored Zap run, you will see the curly braces present in the Data IN section of the Zap run.
  2. You would want to load in the recent sample data from the trigger step, by going to the trigger step and clicking on the “Test” section and click on “Load more”. Like so:
    (view larger)

    This will load in the recent sample data and allow you to map the name and email address in the action step.
  3. After loading in the recent sample data, kindly head to the action step, and there should be some “Yellow” data present in the action step. This means the mapped data on those field no longer exist in the recent sample data.
  4. You should remap those “Yellow” fields (by clicking on them) with the recent sample data that you loaded in. To make it easier, you can search for them in the search bar. Like so:
    (view larger)
  5. After all of that, you will need to test the action step again for you to be able to publish the latest Zap.

More about mapping here:

I hope I explained it a little bit clearer. If not, please let me know. I’ll be happy to clarify it more.

Thanks! 😊


Thanks @ken.a for elaborating. However if I understand correctly, I need to go through that process every time I make a sale, i.e. add the email addresses manually? 

Or will this configure (map?) the step so that this process becomes automatic every time I make a sale on Stripe?

Userlevel 7
Badge +11

Hi there @alda! 👋

Hope you don’t mind me hopping in here to help! 🙂

If you select the field from the Stripe trigger that contains the email address, as Ken suggested, then the Zap will automatically use whatever email address is in that selected field, when Stripe sends the Zap details about a new payment. You would not need to select the email address each time the Zap runs. 

If you select the Customer Email field for example, the email address that is entered into the Customer Email field in Stripe by the customer, will be the same email address that is used when the Zap attempts to grants them access to the course in

So for example if the user’s email address was that’s the value that would come through to the Zap in that selected Customer Email field:

And if the sample that’s been selected on the Zap’s Stripe trigger doesn’t contain an email address and is still showing “No data” as it’s value, then you’ll need to either select a different, or load in a new payment sample from Stripe. More details on how to do that can be found in our Change the test data in your Zap trigger guide.

Hope that helps. Please do keep us in the loop on how you get on with this!  


Hi @SamB and thanks so much for stepping in and for the clarification! 😊

I have gone through all this, loaded a recent payment in the Trigger step, and now have “yellow” data in the Action step. It’s pulled from a recent transaction … so my question now is, if I publish this step and update the Zap, will that particular customer receive an email from me?

I ask because I’ve been adding students manually to my course since the Zap wasn’t working for me and I’ve already granted this person access. I think it would be confusing if I granted them access again.


Userlevel 7
Badge +9

Hey there, @alda - you got it. 🙂 An outbound email will go out even with the test steps.

You’re welcome to skip this test if you like though (no email will be sent):

From there you can publish the zap and wait for a new live transaction to occur.

I hope that helps! 🧡


Thank you @christina.d -- I appreciate the response. 

I just tried to test the action, without publishing, and it returned an error. These are the steps I have taken, as per instructions above, see screenshots.

I would rather not send an email when the Zap is published, so I would definitely skip the test, but what does it mean that there is an error prior to publication?



Userlevel 7
Badge +9

Hmm, so those errors are saying the “Customer Detail Email” and “Customer Detail Name” field were missing from the Stripe transaction:

Is it possible to revisit this step and instead of the “Customer Details Email/Name” fields can you try using the ones that look like this. They should be towards the top of the “Custom” tab:

I know they look super similar but since it appears the “Customer Details” fields aren’t capturing any details in the initial Stripe transaction so I’m curious if these ones will. 

Let us know!


@christina.d I wonder if we are talking about the same thing, since your example says “document” next to the “custom” tab, and mine says “access type”.

In any case I have done as you suggested and this is what it looks like. 

I have run a test (before publishing) and it still returns an error, see screenshots.

Userlevel 7
Badge +12

Hi @alda!

It looks like something might have gone wring when you uploaded your screenshots as we can’t see them. That’s ok though, let’s see if we can get you moving forward. 

It may be that Christina was using a different action to show which fields you need from Stripe, which is why the example she shared said ‘Document’ and not ‘Access type’. You do still need to use the customer name and email that you can see in the screenshot, as opposed to the ‘Customer details’ one that were previously in your Zap. 


I’m going to recap a few things to make sure we’re on the same page, I hope that’s ok!

Stripe Trigger

For the Stripe trigger, make sure that you have a sample with data in the customer name and email. If you can’t find a sample with that information, you can click ‘Skip Test’ on the trigger and it will give you some dummy data. action

Add the email and name to the Create or Update a Contact and Grant Access to Course action. Here’s a link to a gif showing that:

Use the Customer Email and Customer Name fields. In the test sample I got for Stripe there’s no customer name. When I tested the action it worked, this is probably because only the email is a required field. 


If you’ve set up your Zap like that and are still getting an error, could you go to your Zap history and click on a Zap run that hit an error. Then scroll until you can see the step that hit an error. Could you then please take a screenshot of the Data in and Data out tabs for that step. If the step hit an error before it could finish, you’ll only see a ‘Data in’ tab. Here’s an example of what that looks like, but this is a Google Calendar step, not a one. 


​I hope that's clear, please let us know if you have any questions!


Hi @Danvers, thanks for this … I have done all as per the instructions and the gif, but still not working.

As you surmise, there is only a “data in” error, see screenshot.

I am working on hiring someone to fix this for me … this is too frustrating, and is taking up too much of my time. Argh.

Userlevel 7
Badge +9

 Hi there, @alda - thanks for that screenshot.  Believe me, I know this can feel like a lot. We really appreciate you hanging in there with us.

Looking at this error: 

It appears the Create or Update a Contact and Grant Access to Course action step may still have the “Customer Details Email” fields selected.

If the Create or Update a Contact and Grant Access to Course action step looks like the following screenshot it will likely continue to error.

I really think we’ll need to edit this step to have more success. 

If “Customer Name” or “Customer Email” aren’t showing up in that dropdown you could try using these instead:



If it helps, it appears “Customer Details Email” is not a required field when customers pay so once the transaction is complete, its empty - why we keep seeing this error.

An email address doesn’t exist for to create the contact with and it can’t complete the step.

For the Create or Update a Contact and Grant Access to Course action step we need to have a field here that will show up every time someone pays for a course in order for to create/update the contact.

If “Customer Email” or “Customer Name” isn’t appearing in the dropdown as shown in Danver’s gif - we’ll need to select a field we know each customer will fill out every time they pay. I’m hoping the Payment Method fields will be more consistent but 🤞🏽🤞🏽.

I hope some of the context is useful and please keep us posted how this is going for you!


Thanks @christina.d for spotting that, actually that does make a lot of sense.

I have tried what you suggested and tested the zap, though I don’t want to publish it yet because then the person gets sent an email, correct? I have already granted her access manually and don’t want her to get sent another email with access details. (Or perhaps she already got an email because I did the test ..? 😬)

In any case, I got this message, see screenshot. That seems a little more promising than the last time. The only issue I see with this is that the customer appears to fill out her full name in the field provided, so we get her full name in the “first name” field and then her last name in the “surname” field … not sure how that would show up in practice, i.e. in the email she gets sent?

Userlevel 7
Badge +9

Hey, we have some progress! That’s exciting. 🎉

Hmm, that’s a good question and honestly I’d suggest checking out the outbound emails customers are receiving from when they receive access as well as what their contact looks like once it’s set up. You should be able to view that in though I’m not certain where exactly you can view those templates. I did find this in their help docs though so it doesn’t appear their name is referenced at all.

Otherwise if you’d prefer those fields fields are split and there’s no individual First Name/Surname fields in Stripe we’d need to use a Formatter by Zapier step to split them. Here’s a blog post on what that would look like. Full transparency though this solution would require a third step and at least a Starter plan to create a third step and use the Formatter tool. 


@christina.d we have success!! Your solution worked! 🙌 🎉

I have yet to check on the email with but the main thing is that access to the course is being granted.

Thanks so much for your help! 

Userlevel 7
Badge +9

Yessss! 🙌🏽 Love hearing you were able to get this up and running - way to be persistent!

Thanks for keeping us in the loop with your success and happy zapping! ⚡️