CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-xrm-webapi-client

Comprehensive JavaScript framework for Microsoft Dynamics CRM/365 WebAPI integration with promise-based CRUD operations, batch processing, and 200+ pre-implemented actions

Overview
Eval results
Files

crm-actions-functions.mddocs/

CRM Actions and Functions

Execute pre-implemented CRM actions and functions, or create custom request objects for operations not available through standard CRUD operations. The library includes 200+ pre-implemented system actions covering business processes, security, data management, and specialized CRM operations.

Capabilities

Execute Function

Executes CRM actions, functions, or custom operations with automatic URL building and parameter handling.

/**
 * Execute a CRM action, function, or custom operation
 * @param request - Request object containing operation details
 * @returns Promise resolving to the operation result
 */
function Execute(request: object): Promise<any> | any | BatchRequest;

Base Request Class

Foundation for all CRM request objects with parameter override capabilities.

/**
 * Base class for all CRM request operations
 */
class Request implements RequestParameters {
    /** HTTP method (GET, POST, etc.) */
    method?: string;
    /** Action or function name */
    name?: string;
    /** Whether the operation is bound to a specific entity record */
    bound?: boolean;
    /** Target entity logical name for bound operations */
    entityName?: string;
    /** Target entity record ID for bound operations */
    entityId?: string;
    /** Request payload for POST operations */
    payload?: object;
    /** Request-specific headers */
    headers?: Array<Header>;
    /** URL parameters for parameterized operations */
    urlParams?: object;
    /** Override async setting */
    async?: boolean;

    /**
     * Create a new request with overridden parameters
     * @param param - Parameters to override
     * @returns New request instance with merged parameters
     */
    with(param: RequestParameters): this;
}

interface RequestParameters extends BaseParameters {
    method?: string;
    name?: string;
    bound?: boolean;
    entityName?: string;
    entityId?: string;
    payload?: object;
    urlParams?: object;
}

System Information Requests

Current User and System Information

/** Get current user information */
class WhoAmIRequest extends Request { }

/** Get CRM version information */
class RetrieveVersionRequest extends Request { }

/** Get current organization information */
class RetrieveCurrentOrganizationRequest extends Request { }

Usage Examples:

// Get current user info
const userInfo = await WebApiClient.Execute(WebApiClient.Requests.WhoAmIRequest);
console.log("User ID:", userInfo.UserId);
console.log("Organization ID:", userInfo.OrganizationId);

// Get CRM version
const version = await WebApiClient.Execute(WebApiClient.Requests.RetrieveVersionRequest);
console.log("Version:", version.Version);

// Get organization details
const orgInfo = await WebApiClient.Execute(WebApiClient.Requests.RetrieveCurrentOrganizationRequest);

Security and Access Requests

/** Retrieve user privileges */
class RetrieveUserPrivilegesRequest extends Request { }

/** Retrieve team privileges */
class RetrieveTeamPrivilegesRequest extends Request { }

/** Retrieve principal access rights */
class RetrievePrincipalAccessRequest extends Request { }

/** Add privileges to a security role */
class AddPrivilegesRoleRequest extends Request { }

/** Remove privileges from a security role */
class RemovePrivilegeRoleRequest extends Request { }

/** Replace all privileges for a security role */
class ReplacePrivilegesRoleRequest extends Request { }

Usage Examples:

// Get user privileges
const userPrivileges = await WebApiClient.Execute(
    WebApiClient.Requests.RetrieveUserPrivilegesRequest.with({
        entityId: "user-guid-here"
    })
);

// Get access rights for a record
const accessRights = await WebApiClient.Execute(
    WebApiClient.Requests.RetrievePrincipalAccessRequest.with({
        payload: {
            Target: {
                "@odata.type": "Microsoft.Dynamics.CRM.account",
                accountid: "account-guid-here"
            },
            Principal: {
                "@odata.type": "Microsoft.Dynamics.CRM.systemuser",
                systemuserid: "user-guid-here"
            }
        }
    })
);

Business Process Requests

Lead Management

/** Qualify a lead into account, contact, and/or opportunity */
class QualifyLeadRequest extends Request { }

/** Convert lead to different entities */
class ConvertLeadRequest extends Request { }

Opportunity Management

/** Win an opportunity */
class WinOpportunityRequest extends Request { }

/** Lose an opportunity */
class LoseOpportunityRequest extends Request { }

/** Calculate actual value of opportunity */
class CalculateActualValueOpportunityRequest extends Request { }

/** Generate quote from opportunity */
class GenerateQuoteFromOpportunityRequest extends Request { }

/** Generate sales order from opportunity */
class GenerateSalesOrderFromOpportunityRequest extends Request { }

/** Generate invoice from opportunity */
class GenerateInvoiceFromOpportunityRequest extends Request { }

Usage Examples:

// Qualify a lead
const qualifyResult = await WebApiClient.Execute(
    WebApiClient.Requests.QualifyLeadRequest.with({
        entityId: "lead-guid-here",
        payload: {
            CreateAccount: true,
            CreateContact: true,
            CreateOpportunity: true,
            Status: 3 // Qualified
        }
    })
);

// Win an opportunity
await WebApiClient.Execute(
    WebApiClient.Requests.WinOpportunityRequest.with({
        entityId: "opportunity-guid-here",
        payload: {
            Status: 3,
            OpportunityClose: {
                subject: "Won the deal!",
                actualrevenue: 50000,
                "opportunityid@odata.bind": "/opportunities(" + opportunityId + ")"
            }
        }
    })
);

Case Management

/** Close an incident/case */
class CloseIncidentRequest extends Request { }

/** Calculate total time for an incident */
class CalculateTotalTimeIncidentRequest extends Request { }

Sales Process

/** Convert quote to sales order */
class ConvertQuoteToSalesOrderRequest extends Request { }

/** Convert sales order to invoice */
class ConvertSalesOrderToInvoiceRequest extends Request { }

/** Fulfill a sales order */
class FulfillSalesOrderRequest extends Request { }

/** Cancel a sales order */
class CancelSalesOrderRequest extends Request { }

/** Lock/unlock invoice pricing */
class LockInvoicePricingRequest extends Request { }
class UnlockInvoicePricingRequest extends Request { }

Data Management Requests

Bulk Operations

/** Bulk delete records */
class BulkDeleteRequest extends Request { }

/** Bulk detect duplicates */
class BulkDetectDuplicatesRequest extends Request { }

/** Import records */
class ImportRecordsImportRequest extends Request { }

Entity Management

/** Retrieve all entities */
class RetrieveAllEntitiesRequest extends Request { }

/** Retrieve entity changes */
class RetrieveEntityChangesRequest extends Request { }

/** Find duplicate records */
class RetrieveDuplicatesRequest extends Request { }

/** Merge records */
class MergeRequest extends Request { }

/** Initialize record from template */
class InitializeFromRequest extends Request { }

Usage Examples:

// Find duplicates
const duplicates = await WebApiClient.Execute(
    WebApiClient.Requests.RetrieveDuplicatesRequest.with({
        payload: {
            BusinessEntity: {
                "@odata.type": "Microsoft.Dynamics.CRM.account",
                name: "Contoso Corporation"
            },
            MatchingEntityName: "account",
            PagingInfo: {
                PageNumber: 1,
                Count: 50
            }
        }
    })
);

// Merge two accounts
await WebApiClient.Execute(
    WebApiClient.Requests.MergeRequest.with({
        payload: {
            Target: {
                "@odata.type": "Microsoft.Dynamics.CRM.account",
                accountid: "target-account-guid"
            },
            Subordinate: {
                "@odata.type": "Microsoft.Dynamics.CRM.account",
                accountid: "source-account-guid"
            },
            UpdateContent: {
                name: "Merged Account Name",
                telephone1: "555-0123"
            },
            PerformParentingChecks: false
        }
    })
);

Workflow and Process Requests

/** Execute a workflow */
class ExecuteWorkflowRequest extends Request { }

/** Set business process flow */
class SetProcessRequest extends Request { }

/** Create workflow from template */
class CreateWorkflowFromTemplateRequest extends Request { }

Usage Example:

// Execute a workflow
await WebApiClient.Execute(
    WebApiClient.Requests.ExecuteWorkflowRequest.with({
        payload: {
            EntityId: "record-guid-here",
            WorkflowId: "workflow-guid-here"
        }
    })
);

Communication Requests

/** Send email */
class SendEmailRequest extends Request { }

/** Send email from template */
class SendEmailFromTemplateRequest extends Request { }

/** Send bulk mail */
class SendBulkMailRequest extends Request { }

/** Send fax */
class SendFaxRequest extends Request { }

/** Deliver incoming email */
class DeliverIncomingEmailRequest extends Request { }

Usage Examples:

// Send email
await WebApiClient.Execute(
    WebApiClient.Requests.SendEmailRequest.with({
        entityId: "email-guid-here",
        payload: {
            IssueSend: true
        }
    })
);

// Send email from template
await WebApiClient.Execute(
    WebApiClient.Requests.SendEmailFromTemplateRequest.with({
        payload: {
            TemplateId: "template-guid-here",
            RegardingId: "account-guid-here",
            RegardingType: "account",
            Target: {
                "@odata.type": "Microsoft.Dynamics.CRM.systemuser",
                systemuserid: "user-guid-here"
            }
        }
    })
);

Queue Management Requests

/** Add item to queue */
class AddToQueueRequest extends Request { }

/** Pick item from queue */
class PickFromQueueRequest extends Request { }

/** Remove item from queue */
class RemoveFromQueueRequest extends Request { }

/** Release item back to queue */
class ReleaseToQueueRequest extends Request { }

/** Add principal to queue */
class AddPrincipalToQueueRequest extends Request { }

Usage Example:

// Add case to queue
await WebApiClient.Execute(
    WebApiClient.Requests.AddToQueueRequest.with({
        entityId: "queue-guid-here",
        payload: {
            Target: {
                "@odata.type": "Microsoft.Dynamics.CRM.incident",
                incidentid: "case-guid-here"
            }
        }
    })
);

Team and User Management Requests

/** Add members to team */
class AddMembersTeamRequest extends Request { }

/** Remove members from team */
class RemoveMembersTeamRequest extends Request { }

/** Add user to record team */
class AddUserToRecordTeamRequest extends Request { }

/** Remove user from record team */
class RemoveUserFromRecordTeamRequest extends Request { }

/** Convert owner team to access team */
class ConvertOwnerTeamToAccessTeamRequest extends Request { }

Solution and Customization Requests

/** Export solution */
class ExportSolutionRequest extends Request { }

/** Import solution */
class ImportSolutionRequest extends Request { }

/** Publish all XML */
class PublishAllXmlRequest extends Request { }

/** Publish XML */
class PublishXmlRequest extends Request { }

/** Add solution component */
class AddSolutionComponentRequest extends Request { }

/** Remove solution component */
class RemoveSolutionComponentRequest extends Request { }

Custom Request Creation

For operations not yet implemented, create custom requests:

// Create a custom request
WebApiClient.Requests.CustomActionRequest = WebApiClient.Requests.Request.prototype.with({
    method: "POST",
    name: "new_CustomAction",
    bound: true,
    entityName: "account"
});

// Execute the custom request
const result = await WebApiClient.Execute(
    WebApiClient.Requests.CustomActionRequest.with({
        entityId: "account-guid-here",
        payload: {
            InputParameter1: "value1",
            InputParameter2: 123
        }
    })
);

// Alternative using SendRequest
const customResult = await WebApiClient.SendRequest(
    "POST",
    WebApiClient.GetApiUrl() + "accounts(" + accountId + ")/Microsoft.Dynamics.CRM.new_CustomAction",
    {
        InputParameter1: "value1",
        InputParameter2: 123
    }
);

Error Handling

try {
    const result = await WebApiClient.Execute(
        WebApiClient.Requests.WhoAmIRequest
    );
    console.log("Success:", result);
} catch (error) {
    if (WebApiClient.PrettifyErrors) {
        console.error("Formatted error:", error);
    } else {
        console.error("Raw error:", JSON.parse(error));
    }
}

Batch Execution

All requests can be executed in batches:

const batch = new WebApiClient.Batch({
    changeSets: [
        new WebApiClient.ChangeSet({
            requests: [
                WebApiClient.Execute(WebApiClient.Requests.WhoAmIRequest, { asBatch: true }),
                WebApiClient.Execute(WebApiClient.Requests.RetrieveVersionRequest, { asBatch: true })
            ]
        })
    ]
});

const batchResults = await WebApiClient.SendBatch(batch);

System and Metadata Requests

System Information

/** Get current user information */
class WhoAmIRequest extends Request { }

/** Retrieve CRM version information */
class RetrieveVersionRequest extends Request { }

/** Retrieve current timestamp */
class RetrieveTimestampRequest extends Request { }

/** Get all time zones with display names */
class GetAllTimeZonesWithDisplayNameRequest extends Request { }

/** Get time zone code by localized name */
class GetTimeZoneCodeByLocalizedNameRequest extends Request { }

/** Retrieve available languages */
class RetrieveAvailableLanguagesRequest extends Request { }

/** Retrieve installed language packs */
class RetrieveInstalledLanguagePacksRequest extends Request { }

/** Retrieve current organization information */
class RetrieveCurrentOrganizationRequest extends Request { }

/** Check if data encryption is active */
class IsDataEncryptionActiveRequest extends Request { }

/** Retrieve data encryption key */
class RetrieveDataEncryptionKeyRequest extends Request { }

Field and Entity Metadata

/** Calculate rollup field values */
class CalculateRollupFieldRequest extends Request { }

/** Get quantity decimal precision */
class GetQuantityDecimalRequest extends Request { }

/** Get default price level */
class GetDefaultPriceLevelRequest extends Request { }

/** Retrieve all entities metadata */
class RetrieveAllEntitiesRequest extends Request { }

/** Check valid many-to-many relationships */
class GetValidManyToManyRequest extends Request { }

/** Get valid referenced entities */
class GetValidReferencedEntitiesRequest extends Request { }

/** Get valid referencing entities */
class GetValidReferencingEntitiesRequest extends Request { }

/** Check if entity can be referenced */
class CanBeReferencedRequest extends Request { }

/** Check if entity can be referencing */
class CanBeReferencingRequest extends Request { }

/** Check if many-to-many is possible */
class CanManyToManyRequest extends Request { }

Retrieve Operations (Extended)

/** Retrieve absolute and site collection URL */
class RetrieveAbsoluteAndSiteCollectionUrlRequest extends Request { }

/** Retrieve active business process path */
class RetrieveActivePathRequest extends Request { }

/** Retrieve all child users for system user */
class RetrieveAllChildUsersSystemUserRequest extends Request { }

/** Retrieve application ribbon */
class RetrieveApplicationRibbonRequest extends Request { }

/** Retrieve entity ribbon */
class RetrieveEntityRibbonRequest extends Request { }

/** Retrieve audit partition list */
class RetrieveAuditPartitionListRequest extends Request { }

/** Retrieve business hierarchy for business unit */
class RetrieveBusinessHierarchyBusinessUnitRequest extends Request { }

/** Retrieve by group resource */
class RetrieveByGroupResourceRequest extends Request { }

/** Retrieve by resource resource group */
class RetrieveByResourceResourceGroupRequest extends Request { }

/** Retrieve by resources service */
class RetrieveByResourcesServiceRequest extends Request { }

/** Retrieve deployment license type */
class RetrieveDeploymentLicenseTypeRequest extends Request { }

/** Retrieve deprovisioned languages */
class RetrieveDeprovisionedLanguagesRequest extends Request { }

/** Retrieve duplicates */
class RetrieveDuplicatesRequest extends Request { }

/** Retrieve entity changes */
class RetrieveEntityChangesRequest extends Request { }

/** Retrieve exchange appointments */
class RetrieveExchangeAppointmentsRequest extends Request { }

/** Retrieve exchange rate */
class RetrieveExchangeRateRequest extends Request { }

/** Retrieve filtered forms */
class RetrieveFilteredFormsRequest extends Request { }

/** Retrieve formatted import job results */
class RetrieveFormattedImportJobResultsRequest extends Request { }

/** Retrieve installed language pack version */
class RetrieveInstalledLanguagePackVersionRequest extends Request { }

/** Retrieve license info */
class RetrieveLicenseInfoRequest extends Request { }

/** Retrieve localized labels */
class RetrieveLocLabelsRequest extends Request { }

/** Retrieve mailbox tracking folders */
class RetrieveMailboxTrackingFoldersRequest extends Request { }

/** Retrieve members of bulk operation */
class RetrieveMembersBulkOperationRequest extends Request { }

/** Retrieve missing components */
class RetrieveMissingComponentsRequest extends Request { }

/** Retrieve missing dependencies */
class RetrieveMissingDependenciesRequest extends Request { }

/** Retrieve organization resources */
class RetrieveOrganizationResourcesRequest extends Request { }

/** Retrieve parent groups for resource group */
class RetrieveParentGroupsResourceGroupRequest extends Request { }

/** Retrieve parsed data import file */
class RetrieveParsedDataImportFileRequest extends Request { }

/** Retrieve personal wall */
class RetrievePersonalWallRequest extends Request { }

/** Retrieve principal attribute privileges */
class RetrievePrincipalAttributePrivilegesRequest extends Request { }

/** Retrieve principal sync attribute mappings */
class RetrievePrincipalSyncAttributeMappingsRequest extends Request { }

/** Retrieve privilege set */
class RetrievePrivilegeSetRequest extends Request { }

/** Retrieve process instances */
class RetrieveProcessInstancesRequest extends Request { }

/** Retrieve product properties */
class RetrieveProductPropertiesRequest extends Request { }

/** Retrieve provisioned language pack version */
class RetrieveProvisionedLanguagePackVersionRequest extends Request { }

/** Retrieve provisioned languages */
class RetrieveProvisionedLanguagesRequest extends Request { }

/** Retrieve record wall */
class RetrieveRecordWallRequest extends Request { }

/** Retrieve required components */
class RetrieveRequiredComponentsRequest extends Request { }

/** Retrieve role privileges for role */
class RetrieveRolePrivilegesRoleRequest extends Request { }

/** Retrieve sub groups for resource group */
class RetrieveSubGroupsResourceGroupRequest extends Request { }

/** Retrieve unpublished records */
class RetrieveUnpublishedMultipleRequest extends Request { }

/** Retrieve user queues */
class RetrieveUserQueuesRequest extends Request { }

Advanced Business Process Requests

Case Management

/** Close incident (case) */
class CloseIncidentRequest extends Request { }

/** Calculate total time for incident */
class CalculateTotalTimeIncidentRequest extends Request { }

/** Apply routing rule */
class ApplyRoutingRuleRequest extends Request { }

Campaign Management

/** Add item to campaign */
class AddItemCampaignRequest extends Request { }

/** Add item to campaign activity */
class AddItemCampaignActivityRequest extends Request { }

/** Copy campaign */
class CopyCampaignRequest extends Request { }

/** Copy campaign response */
class CopyCampaignResponseRequest extends Request { }

/** Distribute campaign activity */
class DistributeCampaignActivityRequest extends Request { }

Contract Management

/** Cancel contract */
class CancelContractRequest extends Request { }

/** Clone contract */
class CloneContractRequest extends Request { }

/** Renew contract */
class RenewContractRequest extends Request { }

/** Renew entitlement */
class RenewEntitlementRequest extends Request { }

Sales Process (Extended)

/** Cancel sales order */
class CancelSalesOrderRequest extends Request { }

/** Close quote */
class CloseQuoteRequest extends Request { }

/** Revise quote */
class ReviseQuoteRequest extends Request { }

/** Win quote */
class WinQuoteRequest extends Request { }

/** Convert quote to sales order */
class ConvertQuoteToSalesOrderRequest extends Request { }

/** Convert sales order to invoice */
class ConvertSalesOrderToInvoiceRequest extends Request { }

/** Calculate price */
class CalculatePriceRequest extends Request { }

/** Get invoice products from opportunity */
class GetInvoiceProductsFromOpportunityRequest extends Request { }

/** Get quote products from opportunity */
class GetQuoteProductsFromOpportunityRequest extends Request { }

/** Get sales order products from opportunity */
class GetSalesOrderProductsFromOpportunityRequest extends Request { }

/** Fulfill sales order */
class FulfillSalesOrderRequest extends Request { }

/** Lock invoice pricing */
class LockInvoicePricingRequest extends Request { }

/** Unlock invoice pricing */
class UnlockInvoicePricingRequest extends Request { }

/** Lock sales order pricing */
class LockSalesOrderPricingRequest extends Request { }

/** Unlock sales order pricing */
class UnlockSalesOrderPricingRequest extends Request { }

Product Management

/** Clone product */
class CloneProductRequest extends Request { }

/** Convert product to kit */
class ConvertProductToKitRequest extends Request { }

/** Revert product */
class RevertProductRequest extends Request { }

/** Publish product hierarchy */
class PublishProductHierarchyRequest extends Request { }

/** Update product properties */
class UpdateProductPropertiesRequest extends Request { }

Import/Export and Data Management

/** Export field translation */
class ExportFieldTranslationRequest extends Request { }

/** Import field translation */
class ImportFieldTranslationRequest extends Request { }

/** Export translation */
class ExportTranslationRequest extends Request { }

/** Import translation */
class ImportTranslationRequest extends Request { }

/** Export mappings import map */
class ExportMappingsImportMapRequest extends Request { }

/** Import mappings import map */
class ImportMappingsImportMapRequest extends Request { }

/** Import records import */
class ImportRecordsImportRequest extends Request { }

/** Parse import */
class ParseImportRequest extends Request { }

/** Transform import */
class TransformImportRequest extends Request { }

/** Get distinct values import file */
class GetDistinctValuesImportFileRequest extends Request { }

/** Get header columns import file */
class GetHeaderColumnsImportFileRequest extends Request { }

/** Download report definition */
class DownloadReportDefinitionRequest extends Request { }

/** Get report history limit */
class GetReportHistoryLimitRequest extends Request { }

/** Set report related */
class SetReportRelatedRequest extends Request { }

Calendar and Scheduling

/** Expand calendar */
class ExpandCalendarRequest extends Request { }

/** Query multiple schedules */
class QueryMultipleSchedulesRequest extends Request { }

/** Query schedule */
class QueryScheduleRequest extends Request { }

/** Book resource */
class BookRequest extends Request { }

/** Reschedule appointment */
class RescheduleRequest extends Request { }

/** Validate recurrence rule */
class ValidateRecurrenceRuleRequest extends Request { }

/** Create exception to recurring appointment */
class CreateExceptionRequest extends Request { }

/** Create instance of recurring appointment */
class CreateInstanceRequest extends Request { }

/** Add recurrence */
class AddRecurrenceRequest extends Request { }

/** Delete open instances */
class DeleteOpenInstancesRequest extends Request { }

/** Find parent resource group */
class FindParentResourceGroupRequest extends Request { }

/** Set business equipment */
class SetBusinessEquipmentRequest extends Request { }

/** Set business system user */
class SetBusinessSystemUserRequest extends Request { }

Knowledge Management

/** Increment knowledge article view count */
class IncrementKnowledgeArticleViewCountRequest extends Request { }

/** Create knowledge article translation */
class CreateKnowledgeArticleTranslationRequest extends Request { }

/** Create knowledge article version */
class CreateKnowledgeArticleVersionRequest extends Request { }

/** Full text search knowledge article */
class FullTextSearchKnowledgeArticleRequest extends Request { }

/** Search by body knowledge base article */
class SearchByBodyKbArticleRequest extends Request { }

/** Search by keywords knowledge base article */
class SearchByKeywordsKbArticleRequest extends Request { }

/** Search by title knowledge base article */
class SearchByTitleKbArticleRequest extends Request { }

/** Retrieve by top incident product knowledge base article */
class RetrieveByTopIncidentProductKbArticleRequest extends Request { }

/** Retrieve by top incident subject knowledge base article */
class RetrieveByTopIncidentSubjectKbArticleRequest extends Request { }

List and Marketing Management

/** Add list members to list */
class AddListMembersListRequest extends Request { }

/** Add member to list */
class AddMemberListRequest extends Request { }

/** Copy dynamic list to static */
class CopyDynamicListToStaticRequest extends Request { }

/** Copy members list */
class CopyMembersListRequest extends Request { }

/** Create activities list */
class CreateActivitiesListRequest extends Request { }

/** Qualify member list */
class QualifyMemberListRequest extends Request { }

Duplicate Detection

/** Bulk detect duplicates */
class BulkDetectDuplicatesRequest extends Request { }

/** Compound update duplicate detection rule */
class CompoundUpdateDuplicateDetectionRuleRequest extends Request { }

/** Publish duplicate rule */
class PublishDuplicateRuleRequest extends Request { }

/** Unpublish duplicate rule */
class UnpublishDuplicateRuleRequest extends Request { }

Advanced System Operations

Bulk Operations

/** Bulk delete */
class BulkDeleteRequest extends Request { }

/** Send bulk mail */
class SendBulkMailRequest extends Request { }

Data Validation

/** Validate request */
class ValidateRequest extends Request { }

/** Validate saved query */
class ValidateSavedQueryRequest extends Request { }

/** Is valid state transition */
class IsValidStateTransitionRequest extends Request { }

System Configuration

/** Is component customizable */
class IsComponentCustomizableRequest extends Request { }

/** Set data encryption key */
class SetDataEncryptionKeyRequest extends Request { }

/** Set feature status */
class SetFeatureStatusRequest extends Request { }

/** Update feature config */
class UpdateFeatureConfigRequest extends Request { }

/** Set localized labels */
class SetLocLabelsRequest extends Request { }

/** Install sample data */
class InstallSampleDataRequest extends Request { }

/** Uninstall sample data */
class UninstallSampleDataRequest extends Request { }

/** Provision language */
class ProvisionLanguageRequest extends Request { }

/** Deprovision language */
class DeprovisionLanguageRequest extends Request { }

Option Set Management

/** Insert option value */
class InsertOptionValueRequest extends Request { }

/** Update option value */
class UpdateOptionValueRequest extends Request { }

/** Delete option value */
class DeleteOptionValueRequest extends Request { }

/** Order option */
class OrderOptionRequest extends Request { }

/** Insert status value */
class InsertStatusValueRequest extends Request { }

/** Update state value */
class UpdateStateValueRequest extends Request { }

Theme and UI Management

/** Publish theme */
class PublishThemeRequest extends Request { }

/** Copy system form */
class CopySystemFormRequest extends Request { }

/** Reset user filters */
class ResetUserFiltersRequest extends Request { }

Conversion and Utility

/** FetchXml to query expression */
class FetchXmlToQueryExpressionRequest extends Request { }

/** Query expression to FetchXml */
class QueryExpressionToFetchXmlRequest extends Request { }

/** Initialize from */
class InitializeFromRequest extends Request { }

/** Auto map entity */
class AutoMapEntityRequest extends Request { }

Service Endpoint

/** Trigger service endpoint check */
class TriggerServiceEndpointCheckRequest extends Request { }

Search Operations

/** General search */
class SearchRequest extends Request { }

/** Generate social profile */
class GenerateSocialProfileRequest extends Request { }

Email Operations (Extended)

/** Check incoming email */
class CheckIncomingEmailRequest extends Request { }

/** Check promote email */
class CheckPromoteEmailRequest extends Request { }

/** Deliver incoming email */
class DeliverIncomingEmailRequest extends Request { }

/** Deliver promote email */
class DeliverPromoteEmailRequest extends Request { }

/** Process inbound email */
class ProcessInboundEmailRequest extends Request { }

/** Send email from template */
class SendEmailFromTemplateRequest extends Request { }

/** Send template */
class SendTemplateRequest extends Request { }

/** Send fax */
class SendFaxRequest extends Request { }

/** Get tracking token email */
class GetTrackingTokenEmailRequest extends Request { }

Dependencies and Components

/** Retrieve dependencies for delete */
class RetrieveDependenciesForDeleteRequest extends Request { }

/** Retrieve dependencies for uninstall */
class RetrieveDependenciesForUninstallRequest extends Request { }

/** Retrieve dependent components */
class RetrieveDependentComponentsRequest extends Request { }

/** Update solution component */
class UpdateSolutionComponentRequest extends Request { }

/** Clone as patch */
class CloneAsPatchRequest extends Request { }

/** Clone as solution */
class CloneAsSolutionRequest extends Request { }

Mobile and Offline

/** Clone mobile offline profile */
class CloneMobileOfflineProfileRequest extends Request { }

Customer Relationships

/** Create customer relationships */
class CreateCustomerRelationshipsRequest extends Request { }

/** Remove parent */
class RemoveParentRequest extends Request { }

/** Set parent system user */
class SetParentSystemUserRequest extends Request { }

Audit and Delete

/** Delete audit data */
class DeleteAuditDataRequest extends Request { }

/** Delete and promote */
class DeleteAndPromoteRequest extends Request { }

Recalculation

/** Recalculate */
class RecalculateRequest extends Request { }

/** Rollup */
class RollupRequest extends Request { }

/** Propagate by expression */
class PropagateByExpressionRequest extends Request { }

/** Apply record creation and update rule */
class ApplyRecordCreationAndUpdateRuleRequest extends Request { }

Object Assignment

/** Reassign objects owner */
class ReassignObjectsOwnerRequest extends Request { }

/** Reassign objects system user */
class ReassignObjectsSystemUserRequest extends Request { }

/** Revoke access */
class RevokeAccessRequest extends Request { }

/** Route to */
class RouteToRequest extends Request { }

Templates and Instantiation

/** Instantiate filters */
class InstantiateFiltersRequest extends Request { }

/** Instantiate template */
class InstantiateTemplateRequest extends Request { }

Install with Tessl CLI

npx tessl i tessl/npm-xrm-webapi-client

docs

batch-processing.md

configuration-utilities.md

crm-actions-functions.md

crud-operations.md

entity-associations.md

index.md

tile.json