# Developer Self Service via Slackbot

This walkthrough shows how developers can provision cloud infrastructure entirely from Slack — using the Duplo Slackbot to kick off a task, track progress, and close out a Jira ticket without switching tools.

***

## The Scenario

A developer needs to create a new S3 bucket for their order service analytics feature. Instead of filing a ticket and waiting, they handle it directly from Slack.

***

## Step 1 — Mention the Slackbot

The developer mentions the Duplo Slackbot in their Slack channel and refers it to the relevant Jira ticket.

![Mention bot and reference Jira ticket](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-cdec632c03b100f5a2082e7e0b2a94f4b3504e78%2Fdemo3-03-mention-bot-jira.png?alt=media)

***

## Step 2 — Set Workspace and Scopes

The developer enters a few details — workspace and scopes — directly in Slack to give DuploCloud the access it needs and set the task in motion.

![Enter workspace and scopes in Slack](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-24d1504939db4c9973d4872a006b51a67867fdb4%2Fdemo3-04-workspace-scopes-slack.png?alt=media)

***

## Step 3 — DuploCloud Creates a Ticket and Gets to Work

DuploCloud automatically creates a ticket and begins working on the task autonomously.

![DuploCloud ticket created](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-1011851ae367843de36de4a6e7b399392f4731db%2Fdemo3-05-duplocloud-ticket-created.png?alt=media)

Progress is streamed back to Slack in real time. You can also click **Open in AI DevOps** from the Slack message to jump directly into DuploCloud and see every action the agent is taking.

![Agent working, updates in Slack](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-9c8a76d1078618b69b5770584c6a8be820c2c830%2Fdemo3-06-agent-working-slack.png?alt=media)

![Agent actions visible in DuploCloud in real time](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-07367d5b1415889a000e9bca063928d293953d7b%2Fdemo3-07-view-in-duplocloud-realtime.png?alt=media)

***

## Step 4 — Agent Reads the Jira Ticket

The agent reads the Jira ticket for context — the S3 bucket requirements, size, environment, and retention policy are all specified there. When permissions are needed, it asks before proceeding.

![Jira ticket with S3 specifications](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-19bf1d1fad1c981cb82b6df4b4f9955780c6f7db%2Fdemo3-08-jira-s3-specs.png?alt=media)

***

## Step 5 — Terraform Files Generated

Once the agent has everything it needs, it proceeds to execution — generating all the Terraform files for the S3 bucket.

![Terraform files created](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-cab63f6269249c15529720d614201e89e340f86d%2Fdemo3-09-terraform-files-created.png?alt=media)

***

## Step 6 — Pull Request Opened on GitHub

The agent opens a pull request on GitHub with the generated Terraform. The Slackbot notifies the developer and waits for the PR to be approved.

![GitHub PR created](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-0d497f57b25265847b363b20eeb30aa0f39f8df0%2Fdemo3-10-github-pr-created.png?alt=media)

![Slackbot waiting for PR approval](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-7de808aee96ca707484d11ab56db601c93ff1e5b%2Fdemo3-11-slackbot-waiting-approval.png?alt=media)

***

## Step 7 — Merge the PR

The developer reviews and merges the pull request directly in GitHub.

![Merging the pull request](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-4c613bfb20072d67327f22ad29d8ac560b509885%2Fdemo3-12-merging-pr.png?alt=media)

Back in Slack, the bot confirms the PR has been merged and proceeds to apply the Terraform.

![PR merged — applying Terraform](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-2b0b69c443d21d824de6a7a3c6999f0ef6b2b3fe%2Fdemo3-13-pr-merged-apply-terraform.png?alt=media)

***

## Step 8 — Task Complete, Visible in HelpDesk

The entire task is completed autonomously. The same work is also visible in DuploCloud's HelpDesk, giving the team full audit trail and visibility.

![Task completed and visible in HelpDesk](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-381ed843300598be0454df1d81260def792c8eb5%2Fdemo3-14-task-completed-helpdesk.png?alt=media)

***

## Step 9 — Jira Ticket Closed Automatically

The developer asks the bot to update Jira. The ticket is marked as done with a comment that includes a full summary of everything the bot did — including the GitHub PR link.

![Jira ticket marked done with PR comment](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-ab95f19e018478a4a13529cdb08ce91b5cd49b00%2Fdemo3-15-jira-marked-done.png?alt=media)

***

## Back to Writing Code

With the infrastructure provisioned, the PR merged, and Jira updated — all from Slack — the developer can go straight back to writing code.

![Developer back to writing code](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2Fgit-blob-742982ea5b7c0cfc4de52f57a2cc6d31a168c122%2Fdemo3-16-developer-back-to-code.png?alt=media)
