Customer & Sales package

Customer onboarding with KYC

Account managers register a new business customer; KYC screening, a credit report and a risk rating set the tier and limit before the account is opened.

Starts from a formIntermediate~20 min setupv1.0.0

About this package

What it does

Customer onboarding with KYC takes a new business customer from the sales hand-off to an open account. The account manager fills in the form: company name, registration number, country, primary contact, product and expected monthly volume.

The workflow reads the country risk from the Country risk table, runs registry, sanctions and PEP screening through your KYC provider and pulls a commercial credit report. The Customer risk rating decision table combines the KYC result, credit score, country risk and volume into a risk tier, credit limit and payment terms, and decides whether compliance must review the customer. Clean, low-risk customers go straight through.

Compliance can approve (adjusting the tier, limit and terms), request documents from the account manager, which loops back to the same review, or decline. Approved customers get an account in billing and CRM with the agreed limit, a welcome email goes to the primary contact, and the onboarding manager gets a kickoff task. Adapt the country list, the rating rules and the three API paths.

Starts from a form

Starts from a form: the account manager fills in the new-customer details (Run dialog, or your CRM posting them to the start API).

Someone fills in a form to start it: the workflow inputs are the start form (Run dialog in the app, or your own portal posting to the API), and people complete User Task forms along the way.

The flow

Step by step

  1. 1

    Register the customer

    The account manager enters the company, registration number, country, contact, product and expected monthly volume.

  2. 2

    Screen and credit-check

    The Country risk table gives the country rating; the KYC provider screens the registry, sanctions and PEP lists; the credit bureau returns a score.

  3. 3

    Rate the customer

    The Customer risk rating decision table sets the tier, credit limit and payment terms and decides whether compliance must review.

  4. 4

    Compliance review

    Compliance approves with an adjusted tier and limit, requests documents (the account manager collects them and the review repeats) or declines.

  5. 5

    Open the account

    The account is created in billing and CRM with the agreed limit and terms, and the primary contact gets a welcome email.

  6. 6

    Kick off onboarding

    The onboarding manager records the kickoff date, go-live target and plan.

Customer onboarding — An account manager registers a new business customer; KYC screening, a credit report and the risk rating decide the tier and limit, compliance reviews where needed, and the account is opened in billing with a welcome email and onboarding kickoff. The same canvas you get in the designer after installing.

Forms

The start form and the task forms

The workflow inputs are the start form: the Run dialog renders them, and your own portal can post the same fields. User Tasks show their fields and outcome buttons to the assignee.

Start form

Customer onboarding

Filled in by whoever starts the process

Company name * company_name · textLegal name of the customer
Registration number * registration_number · textCompany registration number in its home registry
Country * country · select
New ZealandAustraliaUnited KingdomUnited StatesSingaporeUnited Arab Emirates+1
Country of incorporation (see the Country risk table)
Primary contact name * contact_name · textPrimary contact at the customer
Primary contact email * contact_email · emailname@company.comPrimary contact email; receives the welcome email
Product * product · select
StarterBusinessEnterprisePayments add-on
Product or plan the customer is signing up for
Expected monthly volume * expected_monthly_volume · number0Expected monthly spend or transaction volume, in your base currency
Account manager email * account_manager_email · emailname@company.comYour email (the account manager)
Account manager (user id) account_manager_user_id · textOptional: user id of the account manager who collects documents (falls back to the default chosen on install)

User Task

Compliance review

KYC review: {{company_name}} ({{country}}) · tier {{risk_tier}}

Risk tier * risk_tier · choice
ABC
Approved credit limit * credit_limit · numberPrefilled: {{credit_limit}}
Payment terms * payment_terms · choice
prepaid14 days30 days
Documents to request (if requesting documents) documents_needed · text
Review notes * review_notes · text
ApproveRequest documentsDecline

User Task

Collect documents

Documents needed from {{company_name}}

Links to the documents * document_links · text
Note for compliance note · text
Documents providedCustomer withdrew

User Task

Onboarding kickoff

Kick off onboarding: {{company_name}} ({{account_number}})

Kickoff date * kickoff_date · dateYYYY-MM-DD
Target go-live date go_live_target · dateYYYY-MM-DD
Implementation plan notes plan_notes · text
Kickoff held

From your code

Start a run over the API

Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.

REST

shell
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
  -H "Authorization: Bearer $USERTASKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id":"<workflow id>","variables":{"company_name":"Harbourside Logistics Ltd","registration_number":"5523017","country":"New Zealand","contact_name":"Pat Hollis","contact_email":"pat.hollis@example.com","product":"Business","expected_monthly_volume":85000,"account_manager_email":"sam.carter@example.com"}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input company_name="Harbourside Logistics Ltd" --input registration_number=5523017 --input country="New Zealand" --input contact_name="Pat Hollis" … --wait

Inbound webhook

shell
usertasks webhooks create <workflow id>          # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
  -H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
  -d '{"company_name":"Harbourside Logistics Ltd","registration_number":"5523017","country":"New Zealand","contact_name":"Pat Hollis","contact_email":"pat.hollis@example.com","product":"Business","expected_monthly_volume":85000,"account_manager_email":"sam.carter@example.com"}'

What's included

11 assets, ready to adapt

TypeNameDetails
Email templateCustomer onboarding declinedSent to the account manager when compliance declines the customer.
Email templateWelcome new customerSent to the customer's primary contact when the account is opened.
Data tableCountry riskCountry risk used in the customer risk rating, and whether enhanced due diligence is required. Base it on your AML risk assessment.
IntegrationBilling and CRM
IntegrationCredit bureau
IntegrationKYC provider
API referenceCreate customer accountPOST /accounts — Create the customer account with its risk tier, credit limit and payment terms, and the primary contact.
API referenceGet credit reportGET /credit-reports/{{registration_number}} — Commercial credit report for the company: score (0-1000), rating, payment behaviour and a suggested limit.
API referenceRun KYC checksPOST /kyc/checks — Company registry, sanctions and PEP screening for the company and its directors. Returns an overall result: clear, review or fail.
Decision tableCustomer risk rating8 rules — Risk tier, credit limit and payment terms for a new customer from the KYC result, credit score, country risk and expected monthly volume, and whether compliance must review it. First matching rule wins.
WorkflowCustomer onboarding25 steps — An account manager registers a new business customer; KYC screening, a credit report and the risk rating decide the tier and limit, compliance reviews where needed, and the account is opened in billing with a welcome email and onboarding kickoff.

Country risk · 7 sample rows

CountryRiskEnhanced due diligenceNotes

Requirements

What you connect it to

Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.

Needs

  • REST API — A REST API integration: set its base URL and credentials on install.
  • Assignees — People in your workspace to receive the User Tasks (picked on install).
  • Email — Email delivery configured for the instance (EMAIL_PROVIDER), used for notifications.

After installing

  1. KYC provider integration: base URL and API token. Run KYC checks expects POST /kyc/checks returning result clear / review / fail with registry, sanctions and PEP sections; adjust the body and response model in Integrations.
  2. Credit bureau integration: base URL and token. Get credit report expects GET /credit-reports/{registration_number} with a 0-1000 score.
  3. Billing and CRM integration: base URL and token. Create customer account expects POST /accounts and returns the account number and portal link.
  4. Assignees: pick the compliance officer, the default account manager for document requests (runs can pass account_manager_user_id) and the onboarding manager.
  5. Edit the Country risk rows to your AML risk assessment (keep the names in sync with the form options) and the Customer risk rating rules to your credit policy.
  6. Email: configure EMAIL_PROVIDER on the instance so the welcome and declined emails are delivered (the steps continue on error).

Asked for on install

  • Integration “Billing and CRM”Required

    • Tokenconfig.auth_config.token
    • Base urlconfig.base_urldefault https://billing.example.com/api· optional
  • Integration “Credit bureau”Required

    • Tokenconfig.auth_config.token
    • Base urlconfig.base_urldefault https://credit.example.com/api· optional
  • Integration “KYC provider”Required

    • Tokenconfig.auth_config.token
    • Base urlconfig.base_urldefault https://kyc.example.com/api· optional
  • Workflow “Customer onboarding” assigneesRequired

    • User for step “Compliance review”nodes.11.config.assignee_id
    • User for step “Collect documents”nodes.12.config.assignee_id
    • User for step “Onboarding kickoff”nodes.19.config.assignee_id

Install

Install it in your workspace

Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.

In the app

  1. Download customer-onboarding-kyc-1.0.0.utpkg.
  2. Open Automations → Packages and drag the file onto the page (or choose Import package). Browse gallery there lists every gallery package without downloading by hand.
  3. Pick the file. The wizard verifies the checksum, every file hash and the signature, and shows the readme.
  4. Review the changes (what is created) and the data rows.
  5. Fill in the requirements, or tick Keep incomplete and finish later with Complete setup.
  6. Done: the workflow is published and active once setup is complete.

With the CLI

shell
curl -fLO https://usertasks.com/gallery/customer-onboarding-kyc-1.0.0.utpkg
usertasks packages inspect customer-onboarding-kyc-1.0.0.utpkg       # offline: checksum, hashes, signature
usertasks packages install customer-onboarding-kyc-1.0.0.utpkg --dry-run
usertasks packages install customer-onboarding-kyc-1.0.0.utpkg       # prompts for each requirement
usertasks packages install customer-onboarding-kyc-1.0.0.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete customer-onboarding-kyc -f values.yaml

Verify the download

File SHA-256
c96a428e4ba94904e9c81f76a0ead3a2f4f49ee78f0577e318923cd33ac6c70f
Package checksum (what is signed)
sha256:7733f43a7503c82e3f2a95d7f3892bcb41b511392a889a81ebe0d78324e1d489
Signer
Unsigned preview build — compare the SHA-256 above

shasum -a 256 customer-onboarding-kyc-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.0

  1. v1.0.02026-10-26First release.

Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work

More packages

Related

Browse the whole gallery