Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

In this article

Table of Contents
maxLevel2
excludeOlder Versions|Additional Resources|Related Links|Related Information

Overview

...

You can use this Snap to delete objects in Microsoft Dynamics 365 for Sales databases.

Input and Output

  • Expected upstream Snaps: Any Snap, such as CSV Parser or Mapper Snap, that produces documents in the output view. These documents are expected to contain the object ID, which varies between objects; for example: accountid, contactid.
  • Expected downstream Snaps: Any Snap, such as a Mapper or Filter Snap, that accepts documents in the input view.
  • Expected input: The name of the object type and ID that must be deleted.
  • Expected output: The file name and the deletion status of the file.

...

Snap Type

Dynamics 365 for Sales Delete is a Write-type Snap that deletes records from Microsoft Dynamics 365.

Prerequisite

You must have a Dynamics 365 OAuth2

...

Account Online

...

, data to query, and access to the objects concerned.

Configuring Accounts

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring Dynamics 365 for Sales Accounts for information on setting up this type of account.

Configuring Views

...

Input

...

Troubleshooting

For troubleshooting purpose, try performing a similar operation directly on the MS Dynamics 365 console and collect the necessary data. Compare the data used in the user interface with the SnapLogic pipelines to see if there are any inconsistencies.

Support

...

Support for Ultra Pipelines

Works in Ultra Pipelines. However, we recommend that you not use this Snap in an Ultra Pipeline. To know the list of Snaps that work in Ultra and the related caveats, see Snap Support for Ultra Pipelines.

Limitations

The following limitations are due to the API limitations from the Microsoft Dynamics 365 for Sales application:

  • The Snap fails with an error when the number of requests exceeds 6000 within 300 seconds. We recommend that you limit the number of requests you make within 300 seconds (5 minutes). You can gradually increase the requests that reduce the retry-after duration, optimize your throughput, and minimize resource spikes on the server.

  • The Snap fails with an error when the combined execution time of incoming requests exceeds the limit of 1,200,000 milliseconds within the window of 300 seconds. We recommend that you reduce the number of concurrent requests or reduce the duration of requests and try later.

  • The Snap fails with an error when the number of concurrent requests exceeds the limit of 52. We recommend that you reduce the number of concurrent requests.

Known Issues

  • When deleting more than one object in batches, the Batch Size ranges from 1 to 1000. This is a limitation set by Microsoft Dynamics 365.

  • Microsoft Dynamics 365 limits the number of API calls to 60,000 per minute, per user org.  This should be considered when configuring the size of any batch process.

  • The Object Type suggestions are limited to the Object Types available within the Microsoft Dynamics 365 For Sales v8.2 and v9.0. There is no current ability to suggest Custom Object Types.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 1

  • CSV Parser

  • Mapper

The name of the object type and ID that must be deleted.

Output

Document

  • Min: 1

  • Max: 1

  • Mapper

  • Filter

The file name and the deletion status of the file.

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current Pipeline execution when the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

Info
  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ((blue star)): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ((blue star)): Indicates that you can add fields in the field set.

  • Remove icon ((blue star)): Indicates that you can remove fields from the field set.

Field Name

Field Type

Description

Label

...

*

Default Value: MS Dynamics 365 for Sales Delete
Example: MS Dynamics 365 for Sales Delete

String

Specify the name for the Snap.

...

You can modify this to be more specific, especially if

...

you have more than one of the same Snap in

...

your Pipeline.

Object

...

Type*

Default Value: account
Example: account

String/Expression

Specify the Microsoft Dynamics 365 for Sales object type. You can either enter the name of the object type in this field, or you can select it from the drop-down list displayed when you click the Suggest button.

...

ID*

Default Value

...

: N/A
Example: 5D5F5B6A-CE6D-EA11-A812-000D3A86D7B6

String/Expression

Specify the GUID of the

...

Microsoft Dynamics 365 for Sales Object. You can either enter the ID in this field, or you can select it from the drop-down list displayed when you click the Suggest button. 

When processing a Batch of documents, it is required that each document contains the object ID, which varies between objects; for example: accountid, contactid.

...

 The GUID from the object ID field in each document will be used to delete that object.

Batch

...

Size

Default Value: 200
Example: 100

Integer/Expression

Specify the number of records processed in each request. Batch size range is from 1 to 1000.

...

Batch processing results can contain both successful and unsuccessful results.  Successful results will be written to the output view.  Unsuccessful results, along with intuitive error information will be written to the error view; therefore, it is recommended to activate the error view within the Snap.  A single unsuccessful batch processing document will not halt the batch processing, unless there is a configuration problem; in this special case, the Snap would fail with intuitive error information.

Number of Retries

Default Value: 0
Example: 1

Integer

Specify the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response. 

Retry Intervals (seconds)

Default Value: 1
Example: 5

Integer

...

Specify the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception. 

When the Snap encounters 429 error, the response includes the retry-after with <number of seconds> in the header and the Snap automatically retriesafter the specified <number of seconds>.

HTTP Header

Use this fieldset to add additional HTTP headers to pass when sending requests to the Dynamics 365 for Sales instance. For instance,

Key

Default Value: N/A
Example:

...

Key

...

 Value

...

 Prefer

String/Expression

Specify an HTTP header key.

Value

Default Value: N/A
Example: odata.include-annotations="*"

String/Expression

Specify an HTTP header value.

Enable continue on error

Default

...

Value: Deselected

Checkbox

Select this checkbox to enable the service to continue processing the remaining requests in a batch when an error occurs. The code continues to execute until all requests are processed. It then returns the response to the output view.

When this checkbox is deselected, the batch process errors out immediately on the first failed request. It then returns a response in the error view that includes the error message.

Snap Execution

Default Value: Execute only
Example: Validate & Execute

Dropdown list

Multiexcerpt include macro
nameExecution_Detail_Write
pageSOAP Execute

...

Info

For all operations (Create, Upsert, Update, Delete), the default read timeout is 10 mins.

Troubleshooting

For troubleshooting purposes, try performing a similar operation directly on the Microsoft Dynamics 365 console and collect the necessary data. Compare the data used in the user interface with the SnapLogic pipelines to see if there are any inconsistencies.

Error

Reason

Resolution

-2147015903

The execution time of all the incoming requests exceeded the limit of 1,200,000 milliseconds within the window of 300 seconds.

Reduce the number of concurrent requests or reduce the duration of requests (20 minutes (1200 seconds) within the window of 5 minutes) and try later.

-2147015902

The number of requests exceeded the limit of 6000 within 300 seconds.

Limit the number of requests to 6000 you make within the window of 300 seconds (5 minutes).

-2147015898

The number of concurrent requests exceeded the limit of 52.

Limit the number of concurrent requests.

Too many Requests - 429

There are too many requests sent to Dynamics 365 For Sales endpoint.

The Microsoft Dynamics 365 For Sales related Snaps, include retry-after with <number of seconds> in the response header and automatically retries when they encounter status 429 error. Therefore, wait for the retry to succeed.

Examples

...

Using the Dynamics 365 for Sales Delete Snap to Delete an Object

Using the Snap to delete an object.

Expand
titleUsing the Dynamics 365 for Sales Delete Snap to Delete an Object

The following pipeline demonstrates

...

the basic use case of

...

Dynamics 365 for Sales Delete Snap, where you use the Snap

...

to log in to the Dynamics 365 instance and delete an object:

Image Modified

Select the object type of the object you want to delete

...

and then the Object ID of the object. Save your changes and exit.

Add a CSV Formatter and File Writer Snap, so you can save the output of the Delete Snap.

Execute the pipeline. For a successful run, the File Writer Snap should create a CSV document containing a confirmation of the deletion:

...

Download the sample pipeline.

Using the Dynamics 365 for Sales Delete Snap with Pipeline Parameters

Using the Snap with pipeline parameters.

Expand
titleUsing the Dynamics 365 for Sales Delete Snap with Pipeline Parameters

You can also use

...

Dynamics 365 for Sales Snap with pipeline parameters. This enables you to declare variables at the pipeline level and

...

call them from within the Delete Snap. This example shows how you can do so.

We start off by specifying the object ID of the

...

Microsoft Dynamics 365 for Sales object that you want to delete. In the previous example, we

...

specified this detail in the Delete Snap itself. However, you can also use pipeline parameters to provide this information. This enables you to use the same pipeline to delete different objects by changing only the value of the object ID variable at the pipeline level.

You use the variable 'id' to refer to the account id that you want to delete:

Image Modified

Once you have captured this information at the pipeline level, you are ready to configure the Delete Snap to use this information to delete objects in the target DB. You configure the Delete Snap as follows:

Image Modified

You specify the Object type, and then, in the ID field, you enter the pipeline parameter variable value

...

with an '_' preceding it. Click the = button to signify that you are using variables using either the pipeline parameters or other functions and variables available to you within the application.

Save your changes, exit the Snap Settings popup, and run the pipeline. If the pipeline executes successfully, you should see a message indicating that the object was deleted successfully, as shown above.

Download the sample pipeline

Using the Dynamics 365 for Sales Delete Snap with Upstream Snaps

Using a Mapper Snap to supply the object ID of the object that must be deleted.

Expand
titleUsing the Dynamics 365 for Sales Delete Snap with Upstream Snaps

The Dynamics 365 for Sales Snap can also be used with upstream Snaps. In this example, we shall use a Mapper Snap to supply the Delete Snap with the object ID of the object that must be deleted.

We configure the Mapper Snap to label and supply the object ID that must be deleted

...

as $id:

Image Modified

We then append the Delete Snap to the Mapper and configure it to receive the value in $id as input:

Image Modified

The Delete Snap receives the object ID reference from the Mapper Snap and deletes the object associated with the specified object ID. In this pipeline, we have saved the confirmation output in a CSV file:

Image Modified

Download the sample pipeline

Using the Dynamics 365 for Sales Snap with Expressions from Upstream Snaps

Using CSV data from upstream Snaps to create objects and deleting these objects using the Snap with a Mapper upstream.

Excerpt

Expand
titleUsing the Dynamics 365 for Sales Snap with Expressions from Upstream Snaps

In this example, we shall create objects in MS Dynamics 365 for Sales using object IDs retrieved from a CSV file. We shall then delete these objects using the Dynamics 365 for Sales Delete Snap.


We start by uploading object data from a CSV file:

Image Modified

You can see in the screenshot above that we have modified five account numbers (with attribute label 'id') by appending '_test'. These are the test accounts that we shall add to MS Dynamics 365 for Sales. To do so, however, we will need to identify the precise rows of data and then map them to the attribute headers in the target DB.

We use a CSV Parser Snap to reliably interpret the CSV data, and then we use a Head Snap to ensure that we select only the first five rows for insertion into the target DB:

Image Modified

We are now ready to insert the new accounts into the MS Dynamics 365 for Sales DB. We start off by using a Mapper Snap to map the account ID headers in our CSV file to the corresponding headers in the target DB:

Image Modified

We have now mapped the 'id' attribute header in the input CSV data to the 'name' header in the target DB. We can now create the data in MS Dynamics 365 for Sales:

Image Modified

We can see that the new data is drawn from the values in our input file. We can now use the Delete Snap to return the DB to its initial state. To do so, we will need to supply account IDs that need to be deleted, to the Delete Snap. We do this using another Mapper Snap:

Image Modified

Because we are mapping account IDs in the MS Dynamics 365 for Sales to attributes in the same DB, we use the same attributes in both the Expression and Target path fields.

Once the mapping succeeds, we can run the Delete Snap using configurations as shown below:

Image Modified

Download the sample pipeline

Transferring to–and Deleting Data from–PostgreSQL to Dynamics 365 for Sales

Retrieving data from PostgreSQL and inserting it into Dynamics 365 for Sales before deleting it.

Expand
titleDynamics 365 for Sales Delete: Advanced Use Case

In this example, we retrieve data from a PostgreSQL DB and insert it into the MS Dynamics 365 for Sales DB.

Image Modified

Here's how this pipeline works:

  1. PostgreSQL - Select: Retrieves customer data from the PostgreSQL DB.

  2. Head: Selects the first five records retrieved.

  3. Mapper: Maps attribute headers in the PostgreSQL data to the corresponding attribute headers in

...

  1. Microsoft Dynamics 365 for Sales DB.

  2. Dynamics 365 For Sales Create: Adds the mapped data to the Dynamics 365 For Sales DB.

  3. Mapper1: Maps the attribute heads in the Dynamics 365 For Sales DB with the existing ones in the same DB to facilitate targeted deletion.

  4. Dynamics 365 For Sales Delete: Deletes the recently added data from the Dynamics 365 For Sales DB.

Download the sample pipeline

Downloads

...

Info

Important Steps to Successfully Reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts as applicable.

  3. Provide Pipeline parameters as applicable.

Attachments
patterns*.slp, *.zip

See Also

...

Snap Pack History

Expand

Insert excerpt

...

Microsoft Dynamics 365 for Sales Snap Pack

...

Microsoft Dynamics 365 for Sales Snap Pack
nameMS Dynamics 365 for Sales_SPH
nopaneltrue

...

Related Content