Guide
Read your ADP contactsfrom S3.
About ten minutes in the AWS console. Once it is done, contacts.csv is read every morning before the day is built.
Before you start
What Alakili needs,and where it comes from.
You need access to the AWS account that owns the bucket your contacts file is dropped in, with the right to create IAM policies and users. If the bucket belongs to someone else, such as ADP or a vendor, send them steps 2 and 3 and ask for the two keys back.
Alakili asks for six things. Four you read off the S3 console, two AWS gives you once.
- Bucket: the bucket’s name.
- Folder: where contacts.csv lands, e.g. contacts/.
- Region: e.g. us-east-1.
- Endpoint: leave blank on AWS. Only for S3-compatible storage such as Cloudflare R2 or MinIO.
- Access key ID: starts with AKIA.
- Secret access key: shown once, when the key is made.
Step 1
Find the bucket,the folder and the region.
Sign in to the AWS console and open S3. Find the bucket the contacts file lands in, and note its name and its AWS Region. The list shows something like US East (N. Virginia) us-east-1; Alakili wants only us-east-1.
Open the bucket and go into the folder that holds contacts.csv. That path, e.g. contacts/, is the Folder. A file at the top of the bucket means the Folder is left blank.
Step 2
Create a policythat can only read.
Open IAM, then Policies, then Create policy, and switch to JSON. Paste the policy below, replacing YOUR-BUCKET with the bucket’s name and contacts/ with your folder, in both places.
Name it something you will recognise, such as alakili-contacts-read, and create it.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::YOUR-BUCKET",
"Condition": { "StringLike": { "s3:prefix": ["contacts/*"] } }
},
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET/contacts/*"
}
]
} Nothing here lets Alakili write, delete or see any other folder. It lists the one folder and reads the files in it.
Step 3
Give Alakiliits own keys.
Open IAM, then Users, then Create user. Call it alakili-contacts and do not give it console access. Under permissions choose Attach policies directly, pick the policy from step 2, and create the user.
Open the new user, then Security credentials, then Create access key, and choose Application running outside AWS. Copy the Access key ID and the Secret access key, or download the .csv.
AWS shows the secret access key once. Store it in a password manager and share it through one, never by email or chat. If it ever leaks, deactivate the key under the user’s Security credentials and create a new one.
Step 4
Connect itin Alakili.
In Alakili open Settings, then Integrations, and press Connect on the Amazon S3 card. Fill in the Bucket, Folder and Region, leave Endpoint blank, and paste the two keys.
Press Check the bucket. It should find the newest .csv in the folder. Then, under Jobs, pick the time the file is read each morning; 07:00 is the default.
- Access denied: the folder in the policy does not match the Folder you typed, or the policy is not attached to the user.
- No .csv found: the Folder is wrong, or the file is not a .csv.
What happens next
The file isyour roster from here.
Every morning Alakili reads the newest file in the folder. People come from it, anyone missing from it is made inactive, and Amazon’s associates list only adds qualifications and licence dates.
If a file is suddenly less than half the size of your roster, nobody is made inactive from it, so a half-uploaded export never empties your team.
See it against your own company data.
Thirty minutes. We walk your operating day, then come back with the configuration rather than a quote for a rebuild.