CSV uploads
Importing Content Metadata
Manual csv Upload
Content can be integrated with EdCast through a manual csv file upload. The source system can share the metadata in the csv format provided by EdCast. The same file can be uploaded in the EdCast system which will ensure that each content item is replicated in EdCast in the form of a SmartCard.
Any admin can manually upload the csv file via the Edcast Admin
Below are some of the content providers that integrate their content with EdCast through csv
- Analytics
- Analytica Virtual Lab
- Automation Anywhere
- BigThink
- Cisco
- CoreStack
- Cross Knowledge
- EdgeNetwork
- Elsevier Clinical
- Empass
- Harvard ManageMentor
- Jigsaw
- Manipal ProLearn
- UiPath
- Upgrad
- Whil
This method can be used for integrating with any external system who provides metadata in the EdCast specified file format
Automatic import of CSV files on SFTP
The Edcast SFTP CSV Connector for Content Import supports automated content import by consuming CSV Files from a SFTP location
The SFTP site can either be EdCast provided / Customer provided
The content CSV is consumed once daily at 00:00 UTC.
Below is a list of some of the content providers that provide a CSV File via SFTP for importing their content to EdCast
- A Cloud Guru
- Harvard Spark
- Harvard LeadingEdge
- Harvard ManageMentor
CSV File format specification for content
- The file has to be UTF-8 encoded.
- Comma ( , ) & pipe ( | ) delimiters are supported
- During the first time upload, it is expected that the file should have the complete catalog.
- Subsequent uploads are expected to have only the delta - courses added / updated / deleted since the last export.
Header | Optional | Description |
---|---|---|
id | NO | Unique Id for the Card. This is used to update the course metadata later. |
title | NO | Title to be displayed on the card |
deeplink_url | NO | The URL to which the user will be navigated to when he clicks on the card. This should point to the actual content |
description | YES | Description to be displayed for the card |
image_url | YES | The image to be displayed on the card. If empty, stock images will be displayed |
keywords | YES | The tags to be mapped to this card so that if the user searches for these tags, the card will be filtered in. Multiple tags should be separated by the comma |
duration | YES | The duration to be displayed on the card. The duration has to be in number of seconds and the field in a numeric field |
is_private | YES | Mark card as private. [true/false] |
archive | YES | If the value here is "Y", the card will be archived & no longer listed in the platform |
language | YES | The language to be displayed on the card. The only single value is supported. (e.g. The language has to be "en" for English , "fr" for French.) |
prices_data | YES | This has to be an array of prices in the below format |
[{"amount": "780", "currency": "INR"}, {"amount": "10", "currency": "USD"}] | ||
If the value is blank, the card displays as free. Currently only USD & INR are supported ($ or ₹ is not supported) | ||
content_type | YES | article / course / video / audio / document / course / project / quiz / video / classroom |
embed_url | Yes | The URL to show the video in embed format. |
channels | Yes | Comma separated ids of groups with which the content has to be shared |
provider_name | Yes | Provider name to show name of the content provider. |
level | Yes | Beginner / Intermediate / Advanced |
cpe_credits | Yes | The credits are to be given in numeric format always for eg: 10,20 or 50 will work. |
cpe_subject | Yes | This is a string value and it can be any for eg: Java, cloud, perl, ruby etc. |
archive_date | Yes | This is for future use . It expects a date strictly in the YYYY-MM-DD format. |
|
Caution
If the Id is all numeric & if there are any values starting with zero, one common issue is that if you open the file in Excel & save it, it removes the leading zeroes. Hence, avoid updating the file through Excel.
Handling delimiters & quotes in the data
If the data itself contains the delimiter e.g. a comma(,) or quotes(") ensure that they are handled correctly as explained below.
- Fields with embedded commas or double-quote characters must be quoted.
1997, Ford, E350, "Super, luxurious truck"
- Each of the embedded double-quote characters must be represented by a pair of double-quote characters.
1997, Ford, E350, "Super, ""luxurious"" truck"
Importing Content Completions
Automatic import of CSV files on SFTP

The Edcast SFTP CSV Connector for Completions Import supports automated content completion import by consuming CSV Files from a SFTP location
The SFTP site can either be Edcast provided / Customer provided
The content CSV is consumed after every 3 hours starting at 00:00 UTC.
CSV File format specification for completions
- The CSV file requires the below 3 mandatory columns . All other columns are ignored. The order of columns does not matter.
- The file has to be UTF-8 encoded only.
- The files are expected to have only the delta - completions since the last export.
Column Header | Description |
---|---|
The email Id of the user in edcast | |
object_id | The id of the course which is the same id which is used during content creation |
status | The status column can have one of the values listed in the table below. For any other values , the row is ignored |
timestamp | Timestamp column is optional which will accept value in '2020-05-02T13:55Z'(YYYY-MM-DD) format. |
Below two formats are supported, | |
2020-05-02T13:55Z | |
2020-05-02T13:55:00Z |
Note
Only completions (& NOT Assignment) are imported
Caution
If the Id is all numeric & if there are any values starting with zero, one common issue is that if you open the file in Excel & save it, it removes the leading zeroes. Hence, avoid updating the file through Excel.
Handling delimiters & quotes in the data
If the data itself contains the delimiter e.g. a comma(,) or quotes(") ensure that they are handled correctly as explained below.
- Fields with embedded commas or double-quote characters must be quoted.
1997, Ford, E350, "Super, luxurious truck"
- Each of the embedded double-quote characters must be represented by a pair of double-quote characters.
1997, Ford, E350, "Super, ""luxurious"" truck"
Importing User Data
Manual CSV Upload
This method requires that the user data is available in a CSV format
An admin can manually upload the CSV file via the Edcast Admin
Automatic import of CSV files on SFTP
The edcast HRMS SFTP CSV Connector supports automatic import of HRMS data to sync user data into edcast through CSV files at a SFTP location.

- The HRMS system of the customer exports out HRMS data in CSV format periodically and uploads it to a SFTP location.
- The file is also PGP encrypted using the public key provided by edcast to ensure security of user data. (only if using Edcast provided SFTP location)
- The edcast HRMS Integration framework periodically checks the SFTP location for new files and imports the user data.
- In addition to basic user data like First name, Last name, email address the system also imports custom attributes and user states like active or terminated.
The SFTP site can either be Edcast provided / Customer provided
CSV File format specification for user data
- The file has to be UTF-8 encoded.
- Comma ( , ) & pipe ( | ) delimiters are supported
- During the first time upload, it is expected that the file should have all the users that are to be imported to Edcast.
- Subsequent uploads are expected to have only the delta - users added / updated / terminated since the last export.
- The first 5 columns are expected to be first_name, last_name, email & external_id, status (exact order). Other columns can be in any order after the 4th column
Column Name | Description | Mandatory |
---|---|---|
first_name | Yes | |
last_name | Yes | |
Yes | ||
external_id | This has to be a unique Id which will stay constant for the user throughout their career. Using email id is NOT recommended here since email id of users may change | Yes |
status | Should be one of - active/inactive/ suspended | Yes |
groups | Names of Groups comma separated. Groups are created within Edcast for managing content sharing & restrictions. The groups have to be either created manually in advance / by using the Workflow Feature. The HRMS upload process does not create groups | No |
picture_url | No | |
password | No | |
learning_topic_labels | name of learning topics for the user separated by a comma ( These should be present in sociative for the user's organization. The learning topics provided should be within organizations learning_interests_limit) | No |
manager_id | This supports user-manager mapping via bulk import. We can map a Manager to an user by adding External ID of Manager in the Manager ID column for the user. | No |
job_title | The Job Title to set for the user | No |
Caution
If the Id is all numeric & if there are any values starting with zero, one common issue is that if you open the file in Excel & save it, it removes the leading zeroes. Hence, avoid updating the file through Excel.
Handling delimiters & quotes in the data
If the data itself contains the delimiter e.g. a comma(,) or quotes(") ensure that they are handled correctly as explained below.
- Fields with embedded commas or double-quote characters must be quoted.
1997, Ford, E350, "Super, luxurious truck"
- Each of the embedded double-quote characters must be represented by a pair of double-quote characters.
1997, Ford, E350, "Super, ""luxurious"" truck"
Custom Attributes
In addition to the above listed fields, Edcast supports scalar values (name - value pairs to be stored against the user data) For this, it is required to first create the Custom Attributes in the Edcast Admin & then provide the values in the above file in columns with header = the abbreviation created for the Custom attribute.

Email Id Change scenario
To handle Email Id scenario the below points should be considered
- The external_id column will be used to store the unique Id of the user. The value should not be the email id of the user. It has to be another Id which stays constant throughout the user's employment in the org
- The CSV should provide the new email in the email column when the email id has changed, but the column external_id should have the same unique Id as before
- The SSO Id should be the external_id
Updated over 1 year ago