Dynamics 365 for Sales Delete

In this article

Overview

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

Settings for Dynamics 365 for Sales Delete Snap

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.

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

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

  • Asterisk (*): Indicates a mandatory field.

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

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

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

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

Field Name

Field Type

Description

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 retries after 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: 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

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

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.

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:

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.

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:

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:

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.

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:

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

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:

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.

 

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.

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

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 Microsoft Dynamics 365 for Sales DB.

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

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

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

Download the sample pipeline

Downloads