How to map update import with external ID but no name

  • 26Views
  • Last Post 2 weeks ago
0
votes
Michael Bell posted this 5 weeks ago

Hi,

 

I am trying to update our Salesforce accounts with some data directly from a MySQL database table.

The NAME field is required for an update function, but our MySQL database contains no Salesforce ID data at all.

When I try to obtain the value by Target Lookup, I get an Invalid Type error. How do I map this?

 

Regards,

Michael

Order By: Standard | Newest | Votes
0
votes
Dmitriy Muzurov posted this 4 weeks ago

Hello Michael,

Thank you for submitting a ticket with us.

Name is not required for UPDATE operation in the Account object, only Id field.

Name is mandatory for mapping for INSERT/UPSERT operations when a new record is created.

For mapping an Id field a target lookup should be used and your MySQL database must have a separate column that stores Salesforce Ids. It will be possible to match by this column to perform UPDATE.

Regarding UPSERT we can see that packages, configured to perform UPSERT, in your account are all working currently. Let us know the ID of the package or its name, if it fails.

We are looking forward to hearing from you, should you have any questions.

0
votes
Michael Bell posted this 3 weeks ago

Hi Dmitriy,

I managed to complete the original package I submitted a ticket for (which was an UPSERT function, my mistake) by using expression mapping to complete the name.

Our main issue is that we do not have Salesforce ID values on our MySQL database and as this database is the main part of our application we are unable to add them going forward.  We do have an external id (we call Intrepica ID)  on our Salesforce accounts and this is what I normally use for our mapping.

 

I am now attempting to set up package ID 96964 as an update function so the ID field is required, but this data does not exist on our MySQL database. how can I complete this by using our Intrepica ID as an External ID on an UPDATE function?

0
votes
Dmitriy Muzurov posted this 2 weeks ago

Dear Michael,

Thank you for getting back to us.

There is an option to map by Salesforce native External ID feature, however it's available for UPSERT operation only.

As a workaround, you can select UPSERT, configure the package to use a special column as External ID and Skyvia will always perform UPDATE for this package:

Of course, this solution can be used, if you are sure that there are the same IDs in the Intrepica ID field as in your database and no different IDs. Otherwise, package will fail or create duplicates.

We are looking forward to hearing from you, should you have any questions.

0
votes
Michael Bell posted this 2 weeks ago

Hi,

 

Thanks for that.

 

with an UPSERT import, the Name field is required.  this brings me back to the original issue that we do not store any of this information on our MySQL database.  Is there an expression that I can use to say "do not update this field from an upsert" as all Accounts will already have the name and no new accounts will be created by the upsert anyway.

 

Thanks.

 

0
votes
Dmitriy Muzurov posted this 2 weeks ago

Dear Michael,

Thank you for your reply.

Sorry for confusion, your case can be solved with a target lookup by Intrepica ID field.

Salesforce Account Id field should be mapped with a target lookup by Intrepica ID as shown on the screenshot:

The package can be configured with UPDATE operation.

Let us know, if that works for you.

Close