SharePoint - Upload file(s)

Declaration

<AMSHAREPOINT ACTIVITY="upload_file" SESSION="text" SITE="text" VERSION="text (options)" SPOAUTHTYPE="text (options)" AUTHTYPE="text (options)" USERNAME="text" PASSWORD="text" DOMAIN="text" CLIENTID="text" CLIENTSECRET="text" AADTENANTID="text (encrypted)" AADCLIENTID="text (encrypted)" AADCERTIFICATE="text" AADCERTIFICATEPASSWORD="text (encrypted)" AZUREENVIRONMENT="text (options)" CERTIFICATE="text" IGNOREINVALIDCERTIFICATE="YES/NO" TIMEOUT="500" PROXYTYPE="text (options)" PROXYSERVER="text" PROXYUSERNAME="text" PROXYPASSWORD="text (options)" UPLOADTYPE="text (options)" SOURCE="text" URL="text" OVERWRITE="YES/NO" DEST="text" RESULTDATASET="text" SUBFOLDERS="YES/NO" KEEPFOLDERSTRUCT="YES/NO" MATCHCASE="YES/NO" EXCLUDE="text" RE="YES/NO" ISNEWERTHAN="%DateSerial+TimeSerial%" ISOLDERTHAN="%DateSerial+TimeSerial%" ARCHIVETURNOFF="YES/NO" ATTRFILTER="+r+a+s+h+c+e"><METATAGCONSTRUCT NAME="text" VALUE="text" /></AMSHAREPOINT>

Related Topics

Description

Uploads one or more local files to a SharePoint library. To specify more than one file, use wildcard characters (for example, * or ?). To specify multiple files or wildcard masks, separate them with a pipe character (for example, sourceFolder/*.txt|sourceFolder/*.bak).

NOTE: SharePoint-related error messages appearing in Automate Desktop are sent from your SharePoint site or server. Automate Desktop displays these messages verbatim. For information on SharePoint error messages, refer to Microsoft's SharePoint documentation.

Practical usage

Ideal for automated transmission of files to a SharePoint site.

Parameters

Connection

Property Type Required Default Markup Description
Connection --- --- --- --- Indicates where this activity's SharePoint credentials should originate from. The available options are:
  • Host (default) - Specifies that a custom set of credentials will be entered for this activity. This option is normally selected if only a single SharePoint activity is required to complete the task.

  • Session - Specifies that credentials should derive from a session created in a previous SharePoint - Create session step. This allows several activities to be linked to a specific session, eliminating redundancy. Multiple sessions can exist within a single task, allowing several SharePoint operations to be automated simultaneously.

NOTE: This parameter does not contain markup and is only displayed in visual mode for task construction and configuration purposes.

Connection - Session

Property Type Required Default Markup Description
Session Text Yes, if Connection is set to Session SharePointSession1 SESSION="mySession1" The name of the session to associate with this activity. This parameter is only active if the Connection parameter is set to Session . If Connection is set to Host, this parameter is ignored and the remainder of the parameters specified below become active.
NOTE: Use the SharePoint - End session activity to end an active SharePoint session.

Connection - Host > Server

Property Type Required Default Markup Description
Version Text (options) Yes, if Connection is set to Host SharePoint 2013 and newer

VERSION="sharepointonline"

The SharePoint version to associate with this activity. The available options are:
  • SharePoint Online - A cloud-based service, hosted by Microsoft as an alternative to installing and deploying SharePoint Server on premises.
  • SharePoint 2013 and newer (default) - SharePoint version 2013 or newer - includes SharePoint Foundation 2013/2016/2019 and SharePoint Server 2013/2016/2019.
Site Text Yes, if Connection is set to Host (Empty) SITE="http://myServer/tech" The SharePoint site to access. A SharePoint site is a collection of pages, site templates, lists, and libraries configured for the purpose of achieving an express goal.
Refer to these parameters when Version is set to SharePoint Online.
Authentication type Type (options) Yes Default
  • SPOAUTHTYPE="default"
  • SPOAUTHTYPE="spapponly"
  • SPOAUTHTYPE="aadapponly"
  • SPOAUTHTYPE="aaddelegated"
  • SPOAUTHTYPE="interactive"
Specifies the authentication type to use with the connection. The available options are:
  • Default (default) - Authenticates using a valid SharePoint username and password.

    NOTE: This type does not support multi-factor authentication/single sign-on.
  • SharePoint App Only - Authenticates using a valid SharePoint Client ID value, Client Secret value, and Azure environment selection.

  • Azure AD App Only - Authenticates using a valid Azure AD Directory (tenant) ID value, Application (client) ID value, Azure AD certificate, certificate password, and Azure environment selection.

  • Azure AD Delegated - Authenticates using a valid Azure AD Directory (tenant) ID value, Application (client) ID value, and Azure environment selection. This type also requires an authorized user to manually enter their SharePoint credentials at runtime.

  • Interactive - Authenticates by requiring an authorized user to manually enter their SharePoint credentials at runtime.

    NOTE: Multi-factor authentication/single sign-on can be bypassed if Windows includes valid authentication session information.
Username Text Yes, if Authentication type is set to Default (Empty) USERNAME="theUserName" The username to use for authenticating to the SharePoint site. This parameter is only required if the Authentication type parameter is set to Default.
Password Text Yes, if Authentication type is set to Default (Empty) PASSWORD="text (encrypted)" The password to use to authenticate with the Username parameter. This parameter is required if the Authentication type parameter is set to Default.
Client ID Text Yes, if Authentication type is set to SharePoint App Only (Empty) CLIENTID="text (encrypted)" The Client ID in SharePoint to use for authentication. This parameter is encrypted in Task Builder. This parameter is required when the Authentication type parameter is set to SharePoint App Only.
Client secret Text Yes, if Authentication type is set to SharePoint App Only (Empty) CLIENTSECRET="text (encrypted)" The Client Secret in SharePoint to use for authentication. This parameter is required if the Authentication type parameter is set to SharePoint App Only.
Azure Tenant ID Text Yes, if Authentication type is set to Azure AD App Only or Azure AD Delegated (Empty) AADTENANTID="text (encrypted)" The Directory (tenant) ID in Azure AD to use for authentication. This parameter is required if the Authentication type parameter is set to Azure AD App Only or Azure AD Delegated.
Azure Client ID Text Yes, if Authentication type is set to Azure AD App Only or Azure AD Delegated (Empty) AADCLIENTID="text (encrypted)" The Application (client) ID in Azure AD to use for authentication. This parameter is required if the Authentication type parameter is set to Azure AD App Only or Azure AD Delegated.
Azure AD certificate Text Yes, if Authentication type is set to Azure AD App Only (Empty) AADCERTIFICATE="certificate.pfx" The Azure AD certificate file (.pfx) to use for authentication. This parameter is required if the Authentication type parameter is set to Azure AD App Only.
Azure AD certificate password Text No (Empty) AADCERTIFICATEPASSWORD="text (encrypted)" The password to use to authenticate with the Azure AD Certificate parameter. This parameter is becomes available when Authentication type is set to Azure AD App Only.
Azure Environment Text (options) Yes, if Authentication type is set to SharePoint App Only, Azure AD App Only, or Azure AD Delegated Azure
  • AZUREENVIRONMENT="azure"
  • AZUREENVIRONMENT="azurechina"
  • AZUREENVIRONMENT="azuregermany"
  • AZUREENVIRONMENT="azureusgovernment"
The Azure environment to use for authentication. The available options are:
  • Azure

  • Azure China

  • Azure Germany

  • Azure US Government

This parameter is required if the Authentication type parameter is set to SharePoint App Only, Azure AD App Only, or Azure AD Delegated.

Refer to these parameters when Version is set to SharePoint 2013 and newer.
Authentication type Text (options) Yes System default
  • AUTHTYPE="basic"
  • AUTHTYPE="form"
  • AUTHTYPE="anonymous"
Specifies the authentication type to use with the connection. Associated parameters vary with each type. The available options are:
  • Default (default)

  • Basic

  • Form

  • Anonymous

Username Text Yes, if Authentication type is set to Basic or Form (Empty) USERNAME="theUserName" The username to use for authenticating to the SharePoint site. This parameter is only required if Authentication type is set to Basic or Form.
Password Text Yes, if Authentication type is set to Basic or Form (Empty) PASSWORD="text (encrypted)" The password to use to authenticate with the Username parameter. This parameter is only required if Authentication type is set to Basic or Form.
Domain Text Yes, if Authentication type is set to Basic or Form (Empty) DOMAIN="myServer" The domain the user belongs to. This parameter is only required if Authentication type is set to Basic or Form.
These parameters are available when Version is set to SharePoint Online or SharePoint 2013 and newer.
Certificate Text No (Empty) CERTIFICATE="C:\Temp\file.cer" The (DER encoded) certificate to use for SharePoint authentication.
Ignore invalid certificate Yes/No No No IGNOREINVALIDCERTIFICATE="yes" If selected, invalid server certificates are automatically ignored. This parameter is disabled by default.
Timeout (seconds) Number No 600 TIMEOUT="500" The number of seconds to wait to connect to the SharePoint server before a timeout error is generated. The default value is 600 seconds.

Connection - Host > Proxy

Property Type Required Default Markup Description
Proxy type Text (options) Yes Default
  • PROXYTYPE="none"
  • PROXYTYPE="http"
The type of proxy required for SharePoint connections that pass through a proxy server. The available options are:
  • System default (default) - Points to the default proxy used by the system.
  • None - No proxy authentication required.
  • HTTP - Proxy type is HTTP.
Use authentication --- No --- --- If enabled, specifies proxy authentication is required, enabling authentication-based parameters (disabled by default). It is active only if Proxy type is set to HTTP.
NOTE: This parameter does not contain markup and is only displayed in visual mode for task construction and configuration purposes.
Proxy server Text No (Empty) PROXYSERVER="proxy.host.com" The hostname (server.domain.com) or IP address (xxx.xxx.xxx.xxx) of the proxy server. This parameter is available only if Proxy type is set to HTTP.
Proxy username Text No (Empty) PROXYUSERNAME="username" The proxy username to authenticate with. This parameter is available only if Use authentication is enabled.
Proxy port Number No 808 PROXYPORT="8080" The port number to use to connect to the proxy server. This parameter is available only if Proxy type is set to HTTP. The default value is 808.
Proxy password Text No (Empty) PROXYPASSWORD="encrypted" The proxy password to authenticate with. This parameter is available only if Use authentication is enabled.

File

Property Type Required Default Markup Description
File Text (options) Yes Multiple file(s)
  • UPLOADTYPE="single"
  • UPLOADTYPE="multiple"
Specifies the quantity of files to upload to the SharePoint site. The available options are:
  • Single file - Uploads a single file.
  • Multiple file(s) - Uploads one or more files.
Source Text Yes (Empty) SOURCE="/my/personal/file.txt" Specifies the source file to upload. This parameter becomes active and is required if the File parameter is set to Single file.
Destination (server relative URL) Text Yes (Empty) URL="/dest/location/file.txt Specifies the destination URL in which to upload the file to. This parameter becomes active and is required if the File parameter is set to Single file.

Select the icon to connect to a SharePoint site using the SharePoint Browser to view or select specific contents such as files, folders and attachments.

Overwrite Yes/No No No OVERWRITE="YES" If selected, files with the same name as the uploaded file will be overwritten. If disabled, this step fails with an error if files with the same name are found. This parameter becomes active if the File parameter is set to Single file and is unselected by default.
Local file(s) Text Yes (Empty)
  • SOURCE="c:\foldername\file.txt"
  • SOURCE="c:\foldername\*.txt"
  • SOURCE="c:\folder\*.txt|c:\folder\*.doc"
Specifies the source files to upload. This can be a fully qualified UNIX style path and file name (preferred) or a single file. Wildcards (for example, * or ?) may be used to upload files matching a certain mask. Multiple file and/or file masks may be specified by separating the entries with a pipe (|) symbol  (for example, *.txt|*.bak). This parameter becomes active and is required if the File parameter is set to Multiple file(s).
Remote file(s) Text Yes (Empty)
  • DEST="/foldername/file.txt"
  • DEST="/foldername/*.txt"
  • DEST="file.txt"
Specifies the destination folder and (optionally) file name of the files to upload. This can be a fully qualified path or a file name. Folders that do not exist will be automatically created at runtime. This parameter becomes active and is required if the File parameter is set to Multiple file(s).

Select the icon to connect to a SharePoint site using the SharePoint Browser to view or select specific contents such as files, folders and attachments.

Create and populate upload dataset Text Yes (Empty) RESULTDATASET="theDownloadInfo" The name of the dataset to create and populate with information regarding the upload that took place. For more information, see Datasets.
Metatag(s) Text No (Empty) METATAGCONSTRUCT NAME="Category" VALUE="New" Specifies the metadata to include with the files to upload for columns available on the SharePoint site. Metatags can be set for more than one column at a time. This parameter becomes active if the File parameter is set to Multiple file(s).

File Options

Property Type Required Default Markup Description
Exclude mask Text No (Empty)
  • EXCLUDE="*.txt"
  • EXCLUDE="*.txt|*.bak"
Causes this activity to omit any files matching the masks specified. Filenames or wildcard masks (for example, * or ?) may be used. Multiple entries may be specified by separating them with the pipe (|) symbol (for example, *.txt|*.bak).
Regular expression Yes/No No No RE="YES" If selected, specifies that the value entered in the Exclude mask parameter is interpreted as a regular expression (also referred to as regex or regexp) which provides a concise and flexible means for matching strings of text. If disabled (default), the value is interpreted as plain, readable text.
Only if newer than Date No (Empty) ISNEWERTHAN="%DateSeria(2001,10,12 + TimeSerial(00,00,00)%" If enabled, causes this activity to only act on files that are newer than the date/time specified. Click the Custom button to select from a list of pre-defined date parameters. Enable the Expression option to allow entry of a date/time expression. If this parameter is disabled (default), file "newer than" dates are ignored.
Only if older than Date No (Empty) ISOLDERTHAN="%DateSerial(2001,10,12) + TimeSerial(00,00,00)%" If enabled, causes this action to only act on files that are older than the date/time specified. Click the Custom button to select from a list of pre-defined date parameters. Enable the Expression option to allow entry of a date/time expression. If this parameter is disabled (default), file "older than" dates are ignored.
Overwrite if exists Yes/No No No OVERWRITE="YES" If selected, matching destination files will be overwritten. If disabled, matching files will not be overwritten, however, an error will occur as a result.
Include subfolders Yes/No No No SUBFOLDERS="YES" If selected, specifies that, if present, subfolders should be searched for files matching the mask specified in the Remote files parameter. This parameter is to NO by default.
Preserve folder structure Yes/No No No KEEPFOLDERSTRUCT="YES" If selected, specifies that subfolders found in the source folder should be created in the destination folder and source files should be copied into their respective folders rather than directly into the root of the target folder specified in the Local files parameter. The default value is NO. This option is available only if the Include subfolders parameter is selected.
Match Case Yes/No No No MATCHCASE="YES" Indicates whether the properties set within this activity should be case sensitive in relation to the SharePoint server. The default value is NO.
Turn archive attribute off Yes/No No No ARCHIVETURNOFF="YES" If selected, the archive attribute of the source file is disabled. Windows uses the archive attribute to determine if a file has been backed up. By disabling this attribute for a source file, it indicates to backup programs that the file has already been backed up. This parameter is disabled by default.

File Attributes

Property Type Required Default Markup Description
File attributes Text (options) No Doesn't matter ATTRFILTER="+R+A-H" (compress read-only & archive files but not hidden files) Instructs the activity to filter which files to act on, based on whether the file's original attribute settings match the attribute settings specified in this parameter. In Task Builder's visual mode, drop-down boxes are provided within the activity's settings to assist in the selection of attribute settings. In Task Builder's AML mode, a text item must be entered that contains the original attribute mask of the files you wish to affect. For example, if Read-only attribute is set to Off (in visual mode) or -R (in AML mode) , only source files with the Read-only attribute turned off are affected. Source files with Read-only attribute turned on will be ignored. The available options are:
  • Read-only attribute is - Specifying On or +R includes files with this attribute turned on. Specifying Off or -R includes files with this attribute turned off. Specifying Doesn't matter (default) or excluding the letter ignores this attribute.
  • Archive attribute is - Specifying On or +A includes files with this attribute turned on. Specifying Off or -A includes files with this attribute turned off. Specifying Doesn't matter (default) or excluding the letter ignores this attribute.
  • System attribute is - Specifying On or +S includes files with this attribute turned on. Specifying Off or -S includes files with this attribute turned off. Specifying Doesn't matter (default) or excluding the letter ignores this attribute.
  • Hidden attribute is- Specifying On or +H includes files with this attribute turned on. Specifying Off or -H includes files with this attribute turned off. Specifying Doesn't matter (default) or excluding the letter ignores this attribute.
  • Compression attribute is - Specifying On or +C includes files with this attribute turned on. Specifying Off or -C includes files with this attribute turned off. Specifying Doesn't matter (default) or excluding the letter ignores this attribute.
  • Encrypted attribute is - Specifying On or +E includes files with this attribute turned on. Specifying Off or -E includes files with this attribute turned off. Specifying Doesn't matter (default) or excluding the letter ignores this attribute.

Description

Error Causes

On Error

Additional notes

Datasets

A dataset is a multiple column, multiple row container object where every column represents a particular variable, and each row corresponds to a given member of the dataset in question. This activity creates and populates a dataset containing specific fields (rows) in addition to the standard dataset fields. The table below describes these fields (assuming the dataset name assigned was theDataset).

Name Type Return Value
theDataset.Error Text A textual description of the error that occurred (if any). If no errors occurred during the download step, this dataset will remain empty.
theDataset.LocalFileDate Date The current date of the source file being uploaded. The date format will be similar to 11/12/2020 09:18:08 AM.
theDataset.LocalFileName Text The full path and file name of the source file being uploaded.
theDataset.LocalFileSize Text The size (in KB) of the source file being uploaded.
theDataset.SharePointFileName Text The destination path and file name of the file being uploaded.
theDataset.UploadResult True/False The upload result. The value is either True or False.

Example

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Description

This sample task demonstrates the use of sessions as well as Automate Desktop's ability to upload files to a SharePoint site. 

Copy
<AMSHAREPOINT ACTIVITY="create_session" SITE="https://server.name/sites/dev" VERSION="sharepointonline" SPOAUTHTYPE="default" USERNAME="jdoe@networkautomation.com" PASSWORD="AM5nKSqARLRiE3vM/aTQd3mRPSjEN2vbepPCncV2Xktj0E=aME" SESSION="SharePointSession1" />
<AMSHAREPOINT ACTIVITY="upload_file" SESSION="SharePointSession1" UPLOADTYPE="multiple" SOURCE="C:\Logs\Upload\*.*" DEST="MyLibrary/*.*" RESULTDATASET="uploadDataset" SUBFOLDERS="YES" KEEPFOLDERSTRUCT="YES" />
<AMSHAREPOINT ACTIVITY="end_session" SESSION="SharePointSession1" />