This guide is self-contained — every permission and credential required is listed in the steps below. For why each permission is needed and the full security and permission model, see Permissions & Security - Custom Connector.
Each Custom Connector instance connects to exactly one source type. Choose Amazon S3 or SharePoint Online before you start, and follow the matching part of Step 1 and Step 2. The source type cannot be changed after the connector is created — create a new connector instance if you need to switch source types later.
Who you need to be
Amazon S3: an AWS IAM administrator, or someone able to create an IAM user/role, attach a policy, and generate an access key.
SharePoint Online: a Microsoft Entra ID (Azure AD) admin able to register an application and grant admin consent.
A Simpplr Enterprise Search admin role, to add and configure the connector in Simpplr.
Network and firewall
No firewall changes are typically required in your environment. If your organization restricts access to AWS S3 or your Microsoft 365 tenant by IP allowlist, confirm the required connection details with your Simpplr representative before proceeding.
Each entry in the S3 bucket should be a JSON document with the following schema:
JSON Field | Significance |
|---|---|
id (mandatory) | Unique identifier for the document |
title (mandatory) | Indexed for full-text search and used as the result title. |
description | Indexed for full-text search and used as the search excerpt/snippet; also used for Smart Answers. |
url | Navigable URL of the document, used to generate the result link. |
created_at | Date and time when the document was created |
updated_at | Date and time when the document was modified |
author_email | Email of the document author |
Sample Document
{ "id": "D-05", "title": "Employee Code of Conduct", "description": "Standards for workplace behavior, conflicts of interest, gifts, and reporting concerns.", "created_at": "2021-09-01T07:00:00Z", "updated_at": "2025-08-22T13:10:00Z", "author_email": "people@example.com", "url": "https://policies.example.com/documents/D-05" }Non JSON files or entries that don’t adhere to the above schema will be skipped.
Credentials you will need from AWS
Bucket name(s) to index (or plan to use * to include every bucket the access key can list)
AWS Access Key ID
AWS Secret Access Key
Sign in to the AWS Management Console (or use your IAM tooling), go to IAM -> Users.
Create or select an IAM user for the connector.
Create an IAM user dedicated to Simpplr Enterprise Search.
Attach policy - Either provide complete s3 read access by attaching policy AmazonS3ReadOnlyAccess that grants the required S3 actions on the buckets you plan to index.
Or
In the IAM console sidebar, click Policies, then click Create policy.
Click on the JSON tab/editor view.
Clear any default code and paste the following JSON block:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ConnectorListBucketsWhenUsingWildcard", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Sid": "S3ConnectorReadConfiguredBuckets", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::YOUR-BUCKET-1", "arn:aws:s3:::YOUR-BUCKET-1/*", "arn:aws:s3:::YOUR-BUCKET-2", "arn:aws:s3:::YOUR-BUCKET-2/*" ] } ] }Create an access key for that principal and save the access key ID and secret access key securely.
Confirm the principal user can list and get objects in each target bucket.
Go to Service Control Policies
Verify in all Service Control Policies that GetBucketPublicAccessBlock should not be denied.
Note: For example, in the attached policy, the GetBucketPublicAccessBlockaction is not marked as denied. Similarly, ensure that this is the case for all other attached policies.
SharePoint Online
Credentials you will need from Microsoft 365
Tenant Name
Tenant ID
Client ID
Certificate (content of the certificate file)
Private Key (content of the private key file)
Go to the Azure portal and sign in with your Azure account.
Search for and navigate to the App registrations service.
Click New registration to register a new application.
Provide a name for your app, and optionally select the supported account types (e.g., single tenant, multi-tenant) based on your Entra ID setup.
Click Register to create the app registration.
After registration completes, you're redirected to the app's overview page. Note the Application (client) ID and Directory (Tenant) ID — you'll need them later.
Create a certificate and private key. For example, run:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout azure_app.key -out azure_app.crt
Enter your tenant's details when prompted (optional — can be left blank). This generates two files:
azure_app.crt — uploaded to both Azure and the Simpplr admin panel
azure_app.key — uploaded to the Simpplr admin panel only
Store both files somewhere safe and secure.
In the app registration, go to Manage → Certificates & secrets and select Upload certificate.
Upload the certificate you created in the previous step (azure_app.crt).
Go to Manage → API permissions and click Add a permission.
Select Microsoft Graph as the API, then Application permissions, and add the following permissions (see Permissions & Security - SharePoint for why each is needed):
Sites.Read.All
Files.Read.All
Repeat the same steps to add the SharePoint API permissions:
Sites.Read.All
Click Grant admin consent for the app. This requires administrative privileges.
To find your tenant name, go to Microsoft Entra ID in the Azure portal and locate the primary domain on the overview page (e.g., simpplr.onmicrosoft.com — the tenant name is simpplr).
In Simpplr, go to: Manage features → Enterprise search → Add source.
Search for and select Custom connector.
Enter a Connection name for this instance.
Choose the Source type: Amazon S3 or SharePoint Online.
Enter the credentials from Step 1:
Amazon S3: Buckets, AWS Access Key ID, AWS Secret Access Key.
SharePoint Online: Tenant Name, Tenant ID, Client ID, Certificate, Private Key.
Optionally, configure branding (custom display type / icon) for how this connector instance appears in Simpplr.
Select the field mapping type:
Amazon S3: choose json. In this release there is no further field-mapping configuration — Simpplr applies a fixed default document mapping on save.
SharePoint Online: choose Custom. This configuration requires a predefined mapper to set mappings. Contact Simpplr support for guided assistance.
Click Save configuration and confirm.
Filters control which content gets indexed. All filters are optional — if none are set (beyond the required bucket or site scope), all accessible content is indexed.
Set filters — configure which content to include or exclude from indexing.
SharePoint Online:
Sites — include: optional list of sites to index. If empty, the connector can process all sites the app registration can access. Subsites of listed sites are included.
Sites — exclude: optional list of sites to skip (for example, confidential sites).
Amazon S3: the bucket list configured in Step 2 is the only scope control in this release; there are no separate sync-time filters to set here.
Set Audience configuration (optional) — restrict the connector to a specific Simpplr audience. Only members of the selected audience will be able to find this content in Enterprise Search. If left unset, all users with access can search this content.
Click Save and sync — this saves the configuration and initiates the first full sync.
Alternatively, click Exit to save and resume setup later. To start the sync manually, go to Enterprise Search → Custom Connector → Status and click Sync now.
Monitor progress at: Enterprise Search → Custom Connector → Status.
The dashboard shows sync status, total items indexed, and any errors.
What success looks like:
Shortly after the connector is initialized, the status shows In progress and the item count begins increasing.
When the initial full sync completes, the status shows Success, and Amazon S3 or SharePoint Online results (depending on the source type configured) appear in Enterprise Search.
Initial full sync duration depends on content volume — buckets or sites with a large number of files can take longer.
If the sync stays in Pending, fails, or completes with far fewer items than expected, see Troubleshooting - Enterprise Search Connectors and Troubleshooting & FAQs - Custom Connector.