Meeting registration form with template_id is not proper

API Endpoint(s) and/or Zoom API Event(s)
Endpoints used -

  1. GET /users/{userId}/meeting_templates
  2. POST /users/{userId}/meetings
    endpoint = https://api.zoom.us/v2/users/xBQbWOOWSv2I8I_Xi6Q_8w/meetings
    requestBody= {“uuid”:null,“type”:2,“topic”:“02/01/2023, Advertisement”,“timezone”:“America/Los_Angeles”,“template_id”:“CwduyKQbRLq7pPIFe9r1bQ”,“status”:null,“start_url”:null,“start_time”:“2023-02-01T12:00:00”,“settings”:{“watermark”:null,“waiting_room”:null,“use_pmi”:null,“show_share_button”:null,“registration_type”:2,“registrants_email_notification”:true,“registrants_confirmation_email”:null,“practice_session”:null,“participant_video”:false,“panelists_video”:null,“mute_upon_entry”:null,“join_before_host”:null,“in_meeting”:null,“host_video”:true,“hd_video”:null,“global_dial_in_numbers”:null,“global_dial_in_countries”:null,“enforce_login_domains”:null,“enforce_login”:false,“contact_name”:null,“contact_email”:null,“cn_meeting”:null,“close_registration”:null,“auto_recording”:null,“audio”:“both”,“approval_type”:0,“alternative_hosts”:null,“allow_multiple_devices”:null},“registration_url”:null,“recurrence”:null,“password”:null,“occurrences”:null,“join_url”:null,“id”:null,“host_id”:“xBQbWOOWSv2I8I_Xi6Q_8w”,“end_time”:null,“duration”:30,“custom_questions”:null,“created_at”:null,“agenda”:null}

Description
Even after passing the correct ‘template_id’ parameter for meeting registration, the meeting that is created from api is having the default registration form with 4 fields. The template id that we are passing have some custom questions in it but not getting the correct fields on the registration page.

Error?
Not getting the correct template which is expected as per template_id passed. Instead getting the default fields - (‘First Name’, ‘LastName’, ‘Email Address’, ‘Confirm Email Address’)

How To Reproduce
Steps to reproduce the behavior:
*1. Create a meeting template(type=1) in zoom with some custom questions in it.
*2. Try to pass this template id while creating the zoom meeting from api.
*3. Validate the registration form from meeting created in point 2. It will have only 4 required fields with no custom questions which we are expecting.

Contrast behavior between api and zoom portal for creating zoom meeting with template -
While creating the meeting with the template from zoom portal, the registration form is having the custom questions from the template. But not getting the template while creating from api.

Hi @rajshree.accenture12
Thanks for reaching out to the Zoom Developer Forum and welcome to our community, I am happy to help here!
Allow me some time to troubleshoot this on my end and I will try to reproduce this on my end.
I will come back to you with an update as soon as I have tested this.

Best,
Elisa

@elisa.zoom Any updates on this particular behavior? I’m experiencing the same thing. I can’t seem to use an existing (User/Not Admin) Meeting Template to create a meeting via API. The meeting is successfully created: Here are my endpoints used:

  1. GET /users/{userId}/meeting_templates
  2. POST /users/{userId}/meetings
    Endpoint: https://api.zoom.us/v2/users/jCipZo3SS6y8DSDCDUNbRg/meetings
    Body:
    {
    “agenda”: “Description and more description.”,
    “duration”: 120.0,
    “start_time”: “2024-09-23T16:00:00.000Z”,
    “timezone”: “America/New_York”,
    “topic”: “2022-08-09, Westchester Executive Roundtable”,
    “settings”: {
    “registration_type”: 2,
    “use_pmi”: false
    },
    “template_id”: “taX6E2BTYSXxnUBZehVxvRbXGcATBk0D”
    }
    Result: Meetings are created, but they do not have the registration questions from the meeting template.
  • I tried adding use_pmi back in as mentioned in this article, but that didn’t help: Registrations Questions Not Created
  • It does not appear that you can retroactively PATCH a meeting template to an existing meeting to get the registration questions to be added afterwards.

Questions: There appear to be multiple different kinds of meeting_template Ids - Admin and User. I’m clearly getting the user Meeting Templates that I need in the meeting_template GET:
{“total_records”:9,“templates”:[{“id”:“mBezRAY3T-m2GEN5zGv33Q”,“name”:“2025 Non-DYDC Zoom Registration Template”,“type”:1},{“id”:“f9eWYbc0Qc-KKiUYJEgM2Q”,“name”:“2025 DYCD Zoom Registration Template”,“type”:1},{“id”:“dVqv__VzRM24UI9gqZdoJg”,“name”:“Non-DYDC Zoom Registration Template 2024”,“type”:1},{“id”:“rv86kYrQSmeXIMzC7_oxiw”,“name”:“DYCD FY24 Template”,“type”:1},{“id”:“i_JIs1WORRmthFeyyrh02A”,“name”:“Public Calendar 2024 Template”,“type”:1},{“id”:“:censored:22:9ca2998181:_0”,“name”:“Large Meeting”,“type”:2},{“id”:“:censored:22:9ca2998181:_1”,“name”:“Seminar”,“type”:2},{“id”:“SE3_U5BJT_Sua8jBxLNbJw”,“name”:“Duplicate of Large Meeting”,“type”:2},{“id”:“z1UxViGkRKmE02aQbY8mhA”,“name”:“2025 DYCD Zoom Registration Template - Admin”,“type”:2}]}

I subsequently filtered to get the exact template that I want, however, when I use it in either a PATCH or POST, it isn’t being applied and I’m not getting the questions that I want. Is it possible to create a meeting from a template via the API? That would essentially use the “Use this Template” function within Meeting Templates in the UI and the Meeting API doesn’t seem to have that functionality.

I think that the only other option is to create the meeting from scratch and/or use a Meeting as a template (but not actually use the Meeting template object) and grabbing all of the settings from an existing meeting and then secondarily doing a GET to get that meeting’s registration questions. This seems, well, a bit silly.

I think that this might have to

Hi @roger.miller1
Thanks for reaching out to us!
Have you tried using a meeting template type 2, which is an admin template when creating the meeting? I just tested this on my end and by passing a admin template upon meeting creating, the template gets applied to the meeting

Elisa,

As best as I can tell, Admin templates do not contain custom questions and
the primary reason we’re applying a template here is that we have a bunch
of custom questions. Am I missing something here that I didn’t see
previously?

I found a workaround by creating a “Template” Meeting record that has a
standardized name. A get gets that meeting, another get gets the
registration questions for the meeting and then I apply it to my new
meeting. I found that when I do this that the JSON response body from the
GET of the registration questions on the meeting does not provide a JSON
body that I can readily PATCH to the new meeting. I have to remove from the
JSON array the answer section for any short answer fields. Unfortunately,
the *“answers”: *section of the array throws a error. Trim that out and I
was all good to go.

If there is a more streamlined way of doing the above, I’d love to know!

Hey @roger.miller1
I see what you mean and yes I can confirm that Admin templates do not contain custom questions, I will go ahead and submit a feature request on your behalf.

Could you share the workaround you found but with a list of endpoints you are calling and the requests bodies you are passing in your requests so I can try and play around with it and potentially suggest a workaround