tcampb / react-calendly

Calendly integration for React apps
MIT License
238 stars 57 forks source link

Disable prefilled input #150

Closed Ilansky closed 1 year ago

Ilansky commented 1 year ago

I use react calendly, and my calendly is connected to salesforce. My user takes an appointment when he is already logged in. So I already have his name and email. I use the prefill, but the user still has the ability to change his name and email. Which means in salesforce the appointment will be associated to another lead. How can I disable those field, as I want the name and email of the appointment to be consistent with the name and email registered with the logged account.

tcampb commented 1 year ago

@Ilansky - Unfortunately, Calendly's embed api does not support disabling the name / email fields in the scheduling form.

However, there is a salesforce_uuid parameter you can use to ensure that the appointment will be associated with the correct lead in Salesforce.

https://github.com/tcampb/react-calendly/blob/master/src/calendly.tsx#L42

<PopupModal
   url="https://calendly.com/acmesales"
   utm={{ salesforce_uuid: '001' }}
   onModalClose={() => this.setState({ isOpen: false })}
   open={this.state.isOpen}
   rootElement={document.getElementById("root")}
 />
dvargas92495 commented 1 year ago

@tcampb is Calendly's stance that they won't ever support disabling the inputs or just haven't done so yet?

If the former, then we would have to create our own UI and call the Calendly API ourselves for call bookings, which would decrease Calendly's exposure

tcampb commented 1 year ago

@dvargas92495 - I'm not sure whether or not this is something that will be implemented in Calendly. Since the prefill values are set via query parameters, the invitee could technically change them even if the input field is disabled; as a result, I'm not sure that the react-calendly library could prevent this behavior even if the fields were disabled.

dvargas92495 commented 1 year ago

Sure, and even if it wasn't via query param, a technical user could right click inspect, remove disabled, and then change the value. We were hoping that disabled input would be an 80/20 solution that would solve most of the non-technical-user cases

Ilansky commented 1 year ago

99.99% of the users won't ever even think about tricking this setting, and the one who does good for them. I don't even understand why someone could modify a prefiled input in the first place, it defies logic. Even if he did a mistake in the email, he could go back where he previously entered his email. It creates useless conflicts in datas.

dvargas92495 commented 1 year ago

In Calendly's defense, I could see situations where I sign up for a platform with a personal email, but want to book the call with a work email, for example. So there are situations where allowing modifying of prefilled inputs could make sense, but I wouldn't say that's the norm