Merge · Arazzo Workflow

Merge HRIS Link an Account

Version 1.0.0

Create a Merge Link token, exchange the returned public token for an account token, and confirm the linked HRIS account.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub IntegrationPlatformUnified-APIAgent HandlerLLM GatewayArazzoWorkflows

Provider

merge

Workflows

link-hris-account
Link a new end user to an HRIS platform and obtain a usable account token.
Creates a Link token scoped to the HRIS category, exchanges the public token produced by Merge Link for an account token, and verifies the linked account by reading its details.
3 steps inputs: authorization, endUserEmailAddress, endUserOrganizationName, endUserOriginId, publicToken outputs: accountToken, integration, linkedAccountId, status
1
createLinkToken
{$sourceDescriptions.subpackageLinktokenApi.url}#/paths/~1hris~1v1~1link-token/post
Create a single-use Link token scoped to the HRIS category from the end user's identifying details.
2
exchangePublicToken
{$sourceDescriptions.subpackageAccounttokenApi.url}#/paths/~1hris~1v1~1account-token~1{public_token}/get
Exchange the public token returned by the Merge Link frontend flow for a durable account token used on all subsequent data requests.
3
confirmAccount
{$sourceDescriptions.subpackageAccountdetailsApi.url}#/paths/~1hris~1v1~1account-details/get
Read the linked account details to confirm the integration completed and surface the connected HRIS platform.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Merge HRIS Link an Account
  summary: Create a Merge Link token, exchange the returned public token for an account token, and confirm the linked HRIS account.
  description: >-
    The foundational Merge integration pattern for the HRIS category. The
    workflow first creates a single-use Link token from your end user's
    details, then exchanges the public token returned by the Merge Link
    frontend flow for a durable account token, and finally reads the linked
    account details to confirm the integration and surface the connected
    platform. Every step spells out its request inline so the flow can be read
    and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: subpackageAccountdetailsApi
  url: ../openapi/merge-subpackage-accountdetails-api-openapi.yml
  type: openapi
- name: subpackageAccounttokenApi
  url: ../openapi/merge-subpackage-accounttoken-api-openapi.yml
  type: openapi
- name: subpackageLinktokenApi
  url: ../openapi/merge-subpackage-linktoken-api-openapi.yml
  type: openapi
workflows:
- workflowId: link-hris-account
  summary: Link a new end user to an HRIS platform and obtain a usable account token.
  description: >-
    Creates a Link token scoped to the HRIS category, exchanges the public
    token produced by Merge Link for an account token, and verifies the linked
    account by reading its details.
  inputs:
    type: object
    required:
    - authorization
    - endUserEmailAddress
    - endUserOrganizationName
    - endUserOriginId
    - publicToken
    properties:
      authorization:
        type: string
        description: Production access token with the required "Bearer " prefix.
      endUserEmailAddress:
        type: string
        description: The end user's email address, used purely for identification.
      endUserOrganizationName:
        type: string
        description: The end user's organization name.
      endUserOriginId:
        type: string
        description: A unique identifier for the end user in your own database.
      publicToken:
        type: string
        description: The public token returned by the Merge Link frontend after the user finishes linking.
  steps:
  - stepId: createLinkToken
    description: >-
      Create a single-use Link token scoped to the HRIS category from the end
      user's identifying details.
    operationPath: '{$sourceDescriptions.subpackageLinktokenApi.url}#/paths/~1hris~1v1~1link-token/post'
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/json
      payload:
        end_user_email_address: $inputs.endUserEmailAddress
        end_user_organization_name: $inputs.endUserOrganizationName
        end_user_origin_id: $inputs.endUserOriginId
        categories:
        - hris
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      linkToken: $response.body#/link_token
      integrationName: $response.body#/integration_name
  - stepId: exchangePublicToken
    description: >-
      Exchange the public token returned by the Merge Link frontend flow for a
      durable account token used on all subsequent data requests.
    operationPath: '{$sourceDescriptions.subpackageAccounttokenApi.url}#/paths/~1hris~1v1~1account-token~1{public_token}/get'
    parameters:
    - name: public_token
      in: path
      value: $inputs.publicToken
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accountToken: $response.body#/account_token
      linkedAccountId: $response.body#/id
  - stepId: confirmAccount
    description: >-
      Read the linked account details to confirm the integration completed and
      surface the connected HRIS platform.
    operationPath: '{$sourceDescriptions.subpackageAccountdetailsApi.url}#/paths/~1hris~1v1~1account-details/get'
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $steps.exchangePublicToken.outputs.accountToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      integration: $response.body#/integration
      status: $response.body#/status
      endUserOrganizationName: $response.body#/end_user_organization_name
  outputs:
    accountToken: $steps.exchangePublicToken.outputs.accountToken
    linkedAccountId: $steps.exchangePublicToken.outputs.linkedAccountId
    integration: $steps.confirmAccount.outputs.integration
    status: $steps.confirmAccount.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/merge-hris-link-account-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.