Help needed: step-by-step guide to make a public “External Lead” Record Producer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 weeks ago
Hi Community,
I’m trying to publish a public/external Lead form in Service Portal. I’ve tried multiple times but I still get this error on submit:
“Something went wrong and your request could not be submitted. Please contact your system administrator.”
I’d like to start over from scratch and would really appreciate a step-by-step checklist the community recommends. Could you please review/adjust the plan below so I can follow it exactly?
Goal
Public (guest) users should open a link, fill a Record Producer form, and create a record in my custom table u_lead (no login).
Environment
Service Portal
Custom table: u_lead
Using Incognito to test as Guest
Proposed step-by-step (please correct/complete)
Catalog structure (no restrictions)
Create a Public Catalog and Category.
Ensure Available For on Catalog & Category is empty (no user criteria).
Record Producer (not Catalog Item)
Create a Record Producer targeting u_lead.
Add variables; keep Available For = empty.
(Optional) In the script, set field values on current and avoid cross-scope calls.
Portal visibility
Service Portal → Sites: uncheck “Requires authentication”.
Service Portal → Pages: use sc_cat_item page; set Public = true; Roles = empty.
On that page, the widget must be SC Catalog Item; widget instance/definition Roles = empty.
ACLs on target table
Create u_lead.None create/read (and write if needed) ACLs that allow Guest access:
Either leave Requires role empty (true public), or
Create a custom role (e.g., public) and assign it to the Guest user, then require that role in the ACLs.
Confirm no field-level ACLs (e.g., u_lead.email) are stricter than the table ACLs.
Submission endpoint/auth
Confirm submit uses POST to /api/sn_sc/servicecatalog/items/submit_producer (Network tab).
If I still see 401 on submit, should I uncheck “Requires authentication” on the relevant Scripted REST API methods (as some KBs suggest)? If yes, which API / resource / method records exactly?
Client logic conflicts
Temporarily disable Catalog Client Scripts/UI Policies for the item to rule out regex/mandatory logic blocking submit (e.g., phone/email validation).
Re-enable one by one if submit succeeds.
Hidden platform pitfalls
Check for custom function/calculated fields on sc_item_option and related tables (per KBs) that can cause 500s/overflows; remove or fix if found.
Clear cache (/cache.do) after schema changes.
Diagnostics
Test in Incognito; in DevTools ensure POST (not GET) on submit.
Turn on Debug Security Rules to catch ACL denies.
Check System Logs → Errors and Transactions for the Guest request.
What I’ve already seen
The form loads for Guest; submit fails with the generic error above.
I’ve seen responses like 401 Unauthorized, and once a “GET method not supported for API” (so I suspect widget/page wiring).
Could you please:
Confirm/correct this start-to-finish checklist,
Specify the exact Scripted REST API method(s) that must not require auth (if that’s the right approach), and
Call out any common gotchas I might be missing?
Thanks a ton for any guidance—I’ll follow your checklist exactly and report back with results.
Regards,
Rohit Papannagari