Missing PersonEmail default field from Salesforce

Describe the problem/error/question

I am trying to insert account data in salesforce with the salesforce node.
I believe the actual issue is within the following logic - This file indicates the schema of the fields which are “default” in each Salesforce Org (Link to github) … which has been correct. BUT if the feature Person Accounts is being enabled, the schema changes and new default fields become available (find my missing personemail field here)

What is the error message (if any)?

There is no error message but the field itself is not accessable.

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 1.25.1
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Linux

Sadly it is very quite in here. I am thinking of finding a similar node and create a pull request for salesforce when the person account is activated.
Would be great to have some assistance - since I never developed anything for N8N.

Hey @Manuel,

I suspect the issue is that when the node was created we didn’t have a request for person accounts so we would need to add this in although it might take some design work as we could just add the fields but it may cause confusion.

If you wanted to give this a go and put in a PR we can review it but right now I don’t know what the best option to take to show the values would be.

One thing you could do for now is use the HTTP request and manually implement the API call using the Salesforce credential.

Hey @Jon,

yea - a simple approach could be a simple bolean check field like “activate person account”. In the second step you could switch the schema currently being used with a modified one.

Knowing this - would you know any node which has a similar feature? I would try to copy the approach and PR it.

Properly done - I would recommend to use the API of Salesforce which can describe the current schema and use this for the User to “fill”.

Hey @Manuel,

I would have to dig through them but if it was going to be bool based you could copy what is currently there and set the accountperson options to show if that bool is true then use the get parameters to determine which interface to use.