Skip to content

Every 15 minutes

Create Jira onboarding tickets from a new-hire sheet

When HR adds a new hire to the sheet, Jira tickets for their accounts and equipment are created and the ticket keys appear in the row.

Runs
Every 15 minutes
Apps
Google Sheets, Jira
AI
Not needed
Access
Sheets read+write; Jira create issues

Send this to your assistant

Create a ClickRuntime automation: every 15 minutes, check my New hires sheet for rows without tickets; create Jira tasks in IT for accounts and laptop for each, write the keys back to the row, and email me.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

HR at a growing company tracks upcoming hires in a Google Sheet, and IT works from Jira. Every week someone forgets to tell IT about a new starter, and a person arrives on Monday with no laptop and no login.

Creating the IT tickets as soon as HR adds a row removes the hand-off that keeps failing. HR keeps using the sheet they like, IT sees the work in Jira with the start date, and the keys in the sheet show HR it is in hand.

What you get out of it

  • IT hears about every hire

    A row in the sheet is enough. Nobody needs to remember to email IT.

  • HR can see progress

    Ticket keys appear in the row. HR can check the status without asking.

  • Due dates follow start dates

    Each ticket is due before the start date. IT can plan the week ahead.

  • One set of tickets per hire

    Rows that already have keys are skipped. No duplicates when the sheet is edited.

How it works

What happens, step by step

  1. Every 15 minutes, ClickRuntime reads your New hires sheet.

  2. It finds rows that have a name and start date but no ticket keys.

  3. For each new hire, it creates Jira tasks for accounts and equipment, due before the start date.

  4. The ticket keys are written back into the row, so it is not handled again.

  5. You get an email listing the new hires and their tickets.

Before it runs live

  • Connect your Google Sheets account and pick the spreadsheets it may use
  • Connect Jira

What you get

RunsEvery 15 minutes
Create Jira onboarding tickets from a new-hire sheettoday, 9:00Succeeded
Google Sheets · New hiresPriya Shah | 2026-11-03 | Sales | IT-901, IT-902

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Google Sheets and Jira steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
create_onboarding_tickets_in_jira_from_a_new_hire_sheet.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, notify, report_fetched

JIRA, SITE = "https://api.atlassian.com/ex/jira/your-cloud-id", "https://acme.atlassian.net/browse/"
adf = lambda text: {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": text}]}]}

def jira(method, path, **kw):
    resp = http.request(method, JIRA + path, headers={"Authorization": f"Bearer {credentials.connection('jira', 'work')}", "Accept": "application/json"}, **kw)
    return resp.raise_for_status() or (resp.json() if resp.content else None)

SHEET_ID, TASKS = "your-spreadsheet-id", ["Create accounts", "Prepare laptop"]

@on_trigger
def run(event):
    values = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets().values()
    rows = values.get(spreadsheetId=SHEET_ID, range="New hires!A2:D").execute().get("values", [])
    todo = [(i, r) for i, r in enumerate(rows, start=2) if len(r) >= 3 and (len(r) < 4 or not r[3])]
    report_fetched(len(todo))
    if not todo:
        return {"hires": 0}
    done = []
    for i, (name, start, team, *_) in todo:
        keys = [jira("POST", "/rest/api/3/issue", json={"fields": {"project": {"key": "IT"}, "issuetype": {"name": "Task"},
                "summary": f"{task} for {name} ({team})", "duedate": start, "description": adf(f"New hire starting {start} in {team}")}})["key"] for task in TASKS]
        values.update(spreadsheetId=SHEET_ID, range=f"New hires!D{i}", valueInputOption="RAW", body={"values": [[", ".join(keys)]]}).execute()
        done.append(f"{name} ({start}): {', '.join(keys)}")
    notify.email_me(f"Onboarding tickets for {len(done)} new hires", "\n".join(done))
    return {"hires": len(done)}

FAQ

Common questions

Which columns does the sheet need?
Name, start date, team and a column for the ticket keys. Other columns, such as manager or location, can be added to the ticket description.
Can the tasks depend on the role?
Yes. Give a list of tasks per team, such as design software for designers, and the right tasks are created.
What if a start date changes?
Update the ticket due dates in Jira. The automation does not change tickets after creating them.
What permissions does it need?
Sheets read+write; Jira create issues. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Create Jira onboarding tickets from a new-hire sheet” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.