I'm looking to automatically create a self service user ("Production" field on the opportunity layout is set to true), the lookup field to the contact is also on the opportunity layout. the new user should get an email with the login details also.

From what I found out, it is not possible to create SSP user via apex, only via API. I haven't found out calling API from a field change...any additional info will be helpful.


I think the API is the only way to create these users.

Generally you could have used a combination of Triggers and email templates to accomplish this. But it appears that we cannot use DML statements (like insert) to create these users.


I have not tried creating these users from the API. A post in this thread suggests that even this may not be possible. http://boards.developerforce.com/t5/Apex-Code-Development/Testing-with-Self-Service-Portal-Users/td-p/264841

| improve this answer | |
  • what i'm looking for is a documentation how to access the API from within SF (for example, when a certain field is changed) – Itay B Dec 15 '12 at 13:03
  • 2
    I believe you can hand the actual creation of the user off to a future method and the DML statements might be allowed there. – joshbirk Jan 15 '13 at 0:20
  • 1
    Self service users can't be created by DML, even in @future. The SelfServiceUser object is restricted from DML per the Apex Doc – cropredy Jan 9 '14 at 2:52

Try this (despite the title which at first glance looks irrelevant - the technique is the one you need as it addresses doing DML on objects that APEX can't do DML on like self service users)

Updating multi currency rates from Apex

You can make outbound call from APEX to the SFDC REST service and issue the necessary commands as if you were using the normal API from some 3rd party client. You can see my comment (under @crop1645) to see how the technique 'ought' to work for self service users

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.