You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/docs/alerts/get-notified/destinations.mdx
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,8 @@ The supported destination platforms include:
30
30
* AWS EventBridge: Available in [workflows](/docs/alerts-applied-intelligence/applied-intelligence/incident-workflows/incident-workflows/).
31
31
* PagerDuty: Available in [workflows](/docs/alerts-applied-intelligence/applied-intelligence/incident-workflows/incident-workflows/).
32
32
* New Relic Mobile Push: Available in [workflows](/docs/alerts-applied-intelligence/applied-intelligence/incident-workflows/incident-workflows/).
33
-
* Microsoft Teams: Available in [workflows](/docs/alerts/get-notified/microsoft-teams-integrations/).
33
+
* Microsoft Teams: Available in [workflows](/docs/alerts/get-notified/microsoft-teams-integrations/).
34
+
***Workflow Automation**: Available in [workflows](/docs/alerts-applied-intelligence/applied-intelligence/incident-workflows/incident-workflows/). Triggers [automated incident response workflows](/docs/workflow-automation/setup-and-configuration/create-destinations#trigger-from-alerts) when alert conditions are breached.
34
35
35
36
For more on these and other destinations, see [notification integrations](/docs/alerts-applied-intelligence/notifications/notification-integrations).
@@ -20,9 +20,9 @@ When templates don't fit your needs, [Create Your Own](https://onenr.io/0OQM47Kg
20
20
21
21
This guide shows you how to build workflows using concepts and a complete example. Choose your learning path:
22
22
23
-
-**Learn core concepts first** → Read [Core concepts](#core-concepts) and [Workflow patterns](#workflow-patterns) to understand the fundamentals, then apply them
24
-
-**Follow the example** → Jump to [Example walkthrough](#example-walkthrough) to build an EC2 auto-resize workflow step-by-step
25
-
-**Reference patterns** → Use the [Workflow patterns](#workflow-patterns) section as a quick reference when building your own workflows
23
+
-**Learn core concepts first**: Read [Core concepts](#core-concepts) and [Workflow patterns](#workflow-patterns) to understand the fundamentals, then apply them
24
+
-**Follow the example**: Jump to [Example walkthrough](#example-walkthrough) to build an EC2 auto-resize workflow step-by-step
25
+
-**Reference patterns**: Use the [Workflow patterns](#workflow-patterns) section as a quick reference when building your own workflows
26
26
27
27
<Calloutvariant="tip">
28
28
**New to workflows?** Start with core concepts, then follow the example. The EC2 workflow demonstrates all key patterns in a real-world scenario.
@@ -62,109 +62,86 @@ Understand these fundamentals before you build:
62
62
<td>
63
63
Inputs and secrets
64
64
</td>
65
-
66
65
<td>
67
66
Parameters for credentials and configuration
68
67
</td>
69
-
70
68
<td>
71
69
`${{ :secrets:awsKeyId }}` for credentials, `${{ .inputs.region }}` for config.
Use `type: loop` with `for` and `in` to iterate over collections
128
114
</td>
129
115
</tr>
130
-
131
116
<tr>
132
117
<td>
133
118
Range
134
119
</td>
135
-
136
120
<td>
137
-
Mandatory field for loop functions to define iteration count
121
+
Required parameter for loop functions to define iteration count
138
122
</td>
139
-
140
123
<td>
141
124
Use `${{ range(1, 6) }}` to loop 5 times
142
125
</td>
143
126
</tr>
144
-
145
127
<tr>
146
128
<td>
147
129
Wait
148
130
</td>
149
-
150
131
<td>
151
132
Pauses workflow execution for a specified duration or until a condition is satisfied
152
133
</td>
153
-
154
134
<td>
155
135
Use `type: wait` with `seconds: 60` to delay 60 seconds
156
136
</td>
157
137
</tr>
158
-
159
138
<tr>
160
139
<td>
161
140
Stop
162
141
</td>
163
-
164
142
<td>
165
143
Terminate workflow execution
166
144
</td>
167
-
168
145
<td>
169
146
Ends workflow after validation failures or cancellations
170
147
</td>
@@ -183,7 +160,7 @@ For detailed error handling patterns, see [Best practices](/docs/workflow-automa
183
160
Build your first workflow in five steps:
184
161
185
162
1. Navigate to **[one.newrelic.com](https://one.newrelic.com) > All Capabilities > Workflow Automation** and select **[Create Your Own](https://onenr.io/0OQM47KgxjG)**
186
-
2. Define parameters for credentials (from secrets manager: `${{ :secrets:keyName }}`), configuration (regions, instance types), and runtime data (account IDs, alert IDs)
163
+
2. Define parameters for credentials (from [secrets manager](/docs/workflow-automation/limitations-and-faq/workflow-best-practices/#secure-credentials): `${{ :secrets:keyName }}`), configuration (regions, instance types), and runtime data (account IDs, alert IDs)
187
164
3. Drag actions from the [catalog](/docs/workflow-automation/setup-and-configuration/actions-catalog/actions-catalog), connect them with `${{ .steps.stepName.outputs.field }}` syntax to pass data
188
165
4. Insert switches for conditional branching, loops for processing lists or polling, approval gates for human decisions
189
166
5. Run after each section to catch errors early, then [start or schedule](/docs/workflow-automation/create-a-workflow-automation/start-schedule) your workflow
@@ -201,97 +178,102 @@ Four essential patterns handle most automation scenarios. Each pattern is demons
201
178
**Use switches when:** Outcomes vary based on data (threshold checks, API responses, user decisions)
next: displayUnexpected # Default path when no condition matches
190
+
```
214
191
215
192
**See it in action:** [Handle team response](#handle-team-response) and [Verify and clean up](#verify-and-clean-up) sections show switches routing based on Slack reactions and AWS SSM status.
216
193
217
194
### Loops for processing lists
218
195
219
196
**Use loops when:** Processing multiple items or repeating actions
220
197
198
+
For detailed information about loop structure, parameters, and advanced usage (including break/continue), see [Loop structure](/docs/workflow-automation/workflow-examples#loop-structure).
199
+
221
200
**Key syntax:**
222
-
```yaml
223
-
# Send progress updates using range loop
224
-
- name: progressLoop
225
-
type: loop
226
-
for:
227
-
in: "${{ [range(1; 5)] }}"# Loop 5 times
228
-
steps:
229
-
- name: wait
230
-
type: wait
231
-
seconds: 10
232
-
- name: progressMessage
233
-
type: action
234
-
action: slack.chat.postMessage
235
-
version: 1
236
-
inputs:
237
-
channel: "${{ .workflowInputs.channel }}"
238
-
text: "Resizing in progress..."
239
-
```
201
+
```yaml
202
+
# Send progress updates using range loop
203
+
- name: progressLoop
204
+
type: loop
205
+
for:
206
+
in: "${{ [range(1; 5)] }}"# Loop 5 times
207
+
steps:
208
+
- name: wait
209
+
type: wait
210
+
seconds: 10
211
+
- name: progressMessage
212
+
type: action
213
+
action: slack.chat.postMessage
214
+
version: 1
215
+
inputs:
216
+
channel: "${{ .workflowInputs.channel }}"
217
+
text: "Resizing in progress..."
218
+
```
240
219
241
220
**See it in action:** [Execute the resize](#execute-the-resize) section uses `progressLoop` for status updates.
242
221
243
222
### Approval gates and waiting
244
223
245
-
**Use approval gates when:** Human judgment needed before destructive operations or compliance sign-off required
224
+
**Use approval gates when:** Human judgment is needed before destructive operations or compliance sign-off is required
246
225
247
226
**Key syntax:**
248
-
```yaml
249
-
- name: requestApproval
250
-
type: action
251
-
action: slack.chat.postMessage
252
-
version: 1
253
-
inputs:
254
-
channel: "#approvals"
255
-
text: "Approve? React with :thumbsup: or :thumbsdown:"
**See it in action:** All sections demonstrate data passing—each step builds on previous results.
297
279
@@ -314,7 +296,7 @@ Before building this workflow, ensure you have:
314
296
- **AWS**: Credentials with EC2 and Systems Manager permissions
315
297
- **Slack**: Bot token and channel for notifications
316
298
- **New Relic**: Alert condition monitoring EC2 CPU
317
-
- **Secrets manager**: Configured (see [secrets management](/docs/infrastructure/host-integrations/installation/secrets-management/))
299
+
- **Secrets manager**: Configured, see [secrets manager](/docs/workflow-automation/limitations-and-faq/workflow-best-practices/#secure-credentials)
318
300
319
301
### Workflow overview [#workflow-overview]
320
302
@@ -332,10 +314,10 @@ This example demonstrates key patterns you'll use in custom workflows: querying
332
314
**Skip if you're reading for concepts.** This table details the 12 parameters this workflow uses. You can reference it when building, but it's not essential for understanding the flow.
333
315
</Callout>
334
316
335
-
This workflow requires credentials, configuration, and runtime context as inputs. Sensitive values come from secrets manager using `${{ :secrets:keyName }}` syntax.
317
+
This workflow requires credentials, configuration, and runtime context as inputs. Sensitive values come from [secrets manager](/docs/workflow-automation/limitations-and-faq/workflow-best-practices/#secure-credentials) using `${{ :secrets:keyName }}` syntax.
336
318
337
319
**Input categories:**
338
-
- **Authentication**: AWS and Slack credentials from secrets manager
320
+
- **Authentication**: AWS and Slack credentials from [secrets manager](/docs/workflow-automation/limitations-and-faq/workflow-best-practices/#secure-credentials)
339
321
- **Alert context**: Account ID and issue ID from New Relic
@@ -370,7 +352,7 @@ This workflow requires credentials, configuration, and runtime context as inputs
370
352
`${{ :secrets:awsAccessKeyId }}`
371
353
</td>
372
354
<td>
373
-
AWS Access Key ID retrieved from secrets manager for authenticating with AWS services.
355
+
AWS Access Key ID retrieved from [secrets manager](/docs/workflow-automation/limitations-and-faq/workflow-best-practices/#secure-credentials) for authenticating with AWS services.
374
356
</td>
375
357
</tr>
376
358
<tr>
@@ -384,7 +366,7 @@ This workflow requires credentials, configuration, and runtime context as inputs
384
366
`${{ :secrets:awsSecretAccessKey }}`
385
367
</td>
386
368
<td>
387
-
AWS Secret Access Key retrieved from secrets manager. Pairs with the access key ID.
369
+
AWS Secret Access Key retrieved from [secrets manager](/docs/workflow-automation/limitations-and-faq/workflow-best-practices/#secure-credentials). Pairs with the access key ID.
388
370
</td>
389
371
</tr>
390
372
<tr>
@@ -606,7 +588,7 @@ Now let's build each part of the workflow. Each step includes the specific actio
606
588
The workflow resizes the instance through AWS Systems Manager (SSM):
607
589
608
590
* **`createSsmDocument`**: Creates an SSM Automation document that stops the instance, modifies type, and restarts it.
609
-
* **`generateIdempotencyToken`**: Creates a unique UUID. Prevents duplicate resizes if the workflow runs twice.
591
+
* **`generateIdempotencyToken`**: Creates a unique UUID to prevent duplicate resizes if the workflow runs twice.
610
592
* **`startResizing`**: Executes the SSM document with instance ID and new type.
611
593
* **`progressLoop` (Loop)**: Posts Slack updates every 10 seconds (5 times total).
612
594
* **`waitForCompletion`**: Polls SSM status with 2-minute timeout.
0 commit comments