레이니레이니

Template message delivery

Fill a delivery Template with customer and reservation values, send it through the selected channel and inspect Delivery results and errors.

Acceptance

Verify template kind and status, recipient, variables, deduplication key, rendered text, errors and provider-supported delivery states.

Boundary

This sends predefined text and variables, rather than generating an AI conversation. It includes delivery-template editing and provider review status. Workflows determine targeting and timing.

Check template send inputs

[blocked]

Select customers and inspect the send-dialog preview.

Starting conditions and inputs

Prepare test-organization customers and a template. This procedure stops before sending.

Values for this task

entry_url, account_label, template_label, expected_count, expected_recipients, expected_text

Command sequence

text
open "$entry_url" && snapshot -i
click "$filter" && snapshot -i
click "$account_condition" && snapshot -i
click "$account_option" && snapshot -i
press 'Escape' && snapshot -i
get text body
check "$select_all" && snapshot -i
click "$open_send" && snapshot -i
click "$template_picker" && snapshot -i
press 'ArrowDown' && snapshot -i
click "$template_option" && snapshot -i
get text body
click "$preview" && wait --text '발송 가능' && snapshot -i
get text body
click "$close" && snapshot -i
Ref targets and expected results
#Command / refTarget and verification
1click $filterCustomer table filter button
2click $account_conditionAccount condition button
3click $account_optionOption matching the test account name and ID
4pressClose the filter popover.
5get textCompare displayed test customers and expected count.
6check $select_allSelect all checkbox for the test result set
7click $open_sendSend button for the selected customers
8click $template_pickerTemplate chooser in the send dialog
9pressExpand the template list.
10click $template_optionTemplate option matching template_id and name
11get textCompare selected template and account with the inputs.
12click $previewPreview button; distinguish it from the send button
13waitWait for recipient eligibility counts.
14get textCompare preview counts, first eligible recipient and text with expectations.
15click $closeClose button in the send dialog

Check the result

Preview counts, recipient and text match expectations. The dialog is closed before the final send.

Resuming after interruption

Read the same IDs again. Preserve correct settings and update only differences.

Run Preview before sending to check eligible counts, exclusion reasons, and rendered text for the first ready recipient. Running a preview and closing the dialog never sends a live message or creates a delivery record.

This guide selects five synthetic customers on a test LINE account, previews an advertising template, and closes the dialog before sending.

Filter condition: 계정 (Account) = 데모 클리닉 LINE (5 synthetic test customers)

Template to inspect: 10월 재방문 상담 안내

Run the send preview step by step

1. Filter the customer table by sending account

Open Customers (고객) and select Filter (필터) above the table. Choose Account (계정), select 데모 클리닉 LINE, and press Escape to close the filter popover.

Confirm that the table displays the five test customers linked to that account (Udocsdemo0001 through Udocsdemo0005).

2. Select all matching rows and open the Send dialog

Check the Select all box in the table header to select all five rows. Select Send (5) (발송 (5)) above the table to open the Send dialog.

3. Choose the template and run Preview

Click the Template (템플릿) chooser in the dialog and press ArrowDown to expand the list. Select 10월 재방문 상담 안내, then confirm that the displayed template name and linked account match your inputs.

Select Preview (5) (미리보기 (5)). Distinguish the preview button from the final send button before clicking.

4. Compare counts and text, then close the dialog

Wait until the dialog displays the Ready (발송 가능) and Blocked (발송 불가) counts. After comparing the counts, exclusion reasons, and rendered text against your expectations, select Close to exit without sending.

Evaluation criteria for preview results

Compare these four items in the preview panel before approving any send.

Check itemWhat the screen showsPass and stop criteria
Total countReady (발송 가능) plus Blocked (발송 불가) countsThe two numbers must add up to the selected row count (5).
Exclusion reasonsReason text next to each blocked recipientConsent withdrawals or missing contacts must match the source customer records.
First recipient (받는 사람)Channel address for the first ready customerConfirm that the address format belongs to the intended channel account.
Rendered text sampleSubstituted copy for the first ready customerStop immediately if a customer name or booking time variable is blank.

The rendered message sample shows only the first ready recipient. It does not list every selected customer's completed copy at once. When customer values vary widely, select representative customers one by one and run separate previews.

Watch the actual steps

This 39-second recording selects five customers under 데모 클리닉 LINE, previews 10월 재방문 상담 안내, inspects eligible counts, consent exclusions, and rendered copy, and closes the dialog without sending.

This recording stops at preview verification on synthetic data. Continue to Preview recipients and send a message only after every preview check passes.

If the result differs from what you expected

The Preview button is disabled

Confirm that a template is selected in Template (템플릿). If the chosen template requires an additional input such as a reservation record, fill that required field before running preview.

All selected customers are marked as blocked

Read the exclusion reasons listed in the dialog. An advertising template blocks every customer who lacks active advertising consent for that channel. Also verify that the selected customers belong to the template's sending account.

Variable values are blank or awkward in the sample text

Open the first ready customer's record in the detail pane and check whether the source field is empty. If the variable placeholder itself is wrong, fix the copy in Prepare a sending account and message template and preview again.

The dialog still shows old preview numbers after changing inputs

Changing the selected template or input fields invalidates the previous preview result. Click Preview (미리보기) again after any input change to inspect fresh counts and text.

Diagnose message delivery failures

[blocked]

Start with the reason shown for excluded recipients.

Starting conditions and inputs

Distinguish preview exclusion from failure after sending.

Values for this task

entry_url, customer_id, template_id, delivery_id, attempt_time, cause_record_url

Command sequence

text
open "$entry_url" && snapshot -i
click "$delivery_row" && snapshot -i
get text body
open "$cause_record_url" && snapshot -i
get text body
# Outside browser: The operator corrects the cause. Exclude delivered and unresolved attempts from retry.
snapshot -i
reload && snapshot -i
get text body
Ref targets and expected results
#Command / refTarget and verification
1click $delivery_rowAffected customer delivery record
2get textRead whether this is preview exclusion or failure after submission.
3openRelevant customer, account or template source
4get textCompare the contact, consent or approval value indicated by the error.
5Outside browserThe operator corrects the cause. Exclude delivered and unresolved attempts from retry.
6reloadReload the original delivery record.
7get textRead the final state of the same delivery before selecting any retry.

Check the result

Delivered recipients are excluded and any retry is explicitly identified.

Resuming after interruption

Inspect the original delivery ID first. Stop if delivery is uncertain; distinguish an explicit retry from the original attempt.

[blocked]

Recipient exclusions

Start with the reason shown for excluded recipients. Check missing contacts, channel identifiers, advertising consent, withdrawals, and sending-time conditions. Do not create unsupported consent to bypass exclusion.

[blocked]

Unavailable templates

Compare the account platform and template kind. For reviewed templates, compare provider approval with the latest Laney refresh. Check whether a body edit invalidated the previous approval.

[blocked]

Delivery failures

Inspect delivery errors and the sending account. Distinguish expired access, invalid recipients, channel reply restrictions, and provider failures. Compare successful records from the same period to isolate account-wide failures.

[blocked]

Checks before retrying

Check the final result and actual receipt before retrying. Resolve the cause instead of repeating a failed request. Keep original and retry delivery IDs to trace duplicate contact.

Related tasks

Prepare a sending account and message template

[blocked]

Choose the channel and informational or advertising purpose.

Starting conditions and inputs

Identify the messaging channel and organization-supplied text.

Values for this task

entry_url, account_id, template_id, kind, test_customer_id, template_url, template_body, customers_url

Command sequence

text
open "$entry_url" && snapshot -i
click "$sending_account" && snapshot -i
get text body
open "$template_url" && snapshot -i
get text body
fill "$template_body_input" "$template_body" && press 'Tab' && snapshot -i
# Outside browser: For reviewed template kinds, the operator checks the actual provider approval.
open "$customers_url" && snapshot -i
check "$customer_checkbox" && snapshot -i
click "$open_send" && snapshot -i
click "$template_picker" && snapshot -i
press 'ArrowDown' && snapshot -i
click "$template_option" && snapshot -i
get text body
click "$preview" && wait --text '발송 가능' && snapshot -i
get text body
Ref targets and expected results
#Command / refTarget and verification
1click $sending_accountAccount used for sending
2get textCompare organization, channel and external account.
3openTemplate record to use
4get textCompare template kind, account and sending purpose.
5fill $template_body_inputTemplate body input
6pressLeave the body input.
7Outside browserFor reviewed template kinds, the operator checks the actual provider approval.
8openTest customer table
9check $customer_checkboxCheckbox for one test customer row
10click $open_sendSend button for the selected customers
11click $template_pickerTemplate chooser in the send dialog
12pressExpand the template list.
13click $template_optionTemplate option matching template_id and name
14get textCompare selected template and account with the inputs.
15click $previewPreview button; distinguish it from the send button
16waitWait for recipient eligibility counts.
17get textCompare preview counts, first eligible recipient and text with expectations.

Check the result

Required values render and the recipient matches the intended channel.

Resuming after interruption

Read the same IDs again. Preserve correct settings and update only differences.

Before sending booking notices or return-visit promotions, verify a connected sending account and prepare a channel-compliant message template. Template messages substitute customer variables into prepared copy. They differ from live AI inbound chat, phone interpretation, or outbound AI calls.

This guide explains how to inspect the sending account, edit and save a template body, and verify variable substitution in preview. The accounts and copy in the video are synthetic test data.

Synthetic template: 10월 재방문 상담 안내 (LINE advertising template)

Updated body: ${customer.display_name}님, 예약 문의는 이 채팅에 답장해 주세요. 문서 촬영용 시험 문구입니다.

Saving a template locally does not guarantee that every channel can send it immediately. Reviewed template kinds such as Kakao AlimTalk require external provider approval in addition to local persistence.

[blocked]

Choose the channel and message purpose

Select the target channel and classify the message as informational or advertising. Use informational templates for notices directly tied to a booking, and use advertising templates for promotions or return-visit offers.

Inspect these four fields on the template detail screen.

Screen fieldPurpose in this taskWhat to verify
Kind (kind)Identifies the delivery format, such as AlimTalk, brand message, or LINE push.Confirm it is an outbound send kind, not a saved reply (message) or AI instruction (prompt).
Sending accountIdentifies the channel account that sends the message.Match this account to the channel account linked to your target customers.
PurposeMarks the template as informational or advertising.Verify that advertising templates enforce consent checks and opt-out text.
Body (내용)Holds the message text and variables such as ${customer.display_name}.Check that the sentence reads naturally after variable substitution.
[blocked]

Check the sending account and channel connection

Open Channels (채널) in the left menu and select the sending account record. Confirm that the organization, channel type, and external sender identifier match your intended sender.

Kakao BizMessage requires a registered sender profile, and WhatsApp requires a Business account and phone number ID. Do not select an admin login account or an inbound-only account as the sender.

[blocked]

Edit the template body and customer variables

1. Open the template in Templates

Select Templates (템플릿) in the left menu and click the template row. The recording opens 10월 재방문 상담 안내, a synthetic LINE template without external sending credentials.

Read the template kind, linked account, and sending purpose before editing the text.

2. Update the body while keeping the customer variable

Edit the Body (내용) input with your approved copy. Preserve the exact variable syntax such as ${customer.display_name}. The recording updates the Korean text as follows.

${customer.display_name}님, 예약 문의는 이 채팅에 답장해 주세요. 문서 촬영용 시험 문구입니다.

Check that the sentence still makes sense if a customer record has an empty display name.

3. Leave the input to trigger autosave

Press Tab or click outside the text box after editing. The template editor saves changes automatically when focus leaves the input.

[blocked]

Reopen to verify saved values and provider approval

1. Reopen the same template to confirm persistence

Close the detail panel and reopen 10월 재방문 상담 안내 from the template list. Confirm that the updated text, ${customer.display_name} variable, purpose, and linked account remain stored.

2. Distinguish local state from AlimTalk provider approval

Kakao AlimTalk templates require external provider review before live delivery. The recording opens 예약 확인 알림톡 next to show that local fixture state does not prove external approval. Editing a reviewed template can require re-approval from the provider.

3. Run a single-customer preview to check substitution

Open Customers (고객), check one test customer row, and click Send (발송). Choose the template and click Preview (미리보기) to verify the eligible count, recipient address, and rendered text.

Watch the actual steps

This 32-second recording edits a synthetic LINE template, reopens it to confirm saved values, and contrasts local editing with AlimTalk approval checks.

If the result differs from what you expected

The old template text returns after reopening

Check whether you closed the panel before moving focus out of Body (내용). Enter the updated text again, press Tab to complete autosave, and reopen the record to verify.

The customer name variable does not substitute in preview

Check that the placeholder matches ${customer.display_name} with exact braces and spelling. If the syntax is right, open the test customer record and confirm that its display name field is populated.

The prepared template is missing in the send dialog

Confirm that the selected customer rows belong to the same channel account linked to the template. Also check that the template kind is an outbound notification kind rather than message or prompt.

A saved AlimTalk template cannot be sent

Body edits on an AlimTalk template require fresh approval from the Kakao BizMessage provider. Refresh and verify the provider approval status before attempting a live send.

Preview recipients and send a message

[blocked]

Find customers, choose a template, preview the content, and check the sending result.

Starting conditions and inputs

The template and account must be sendable, with required recipient consent.

Values for this task

entry_url, customer_id, template_id, source_id, expected_recipient, expected_text, customer_lookup, delivery_history_url

Command sequence

text
open "$entry_url" && snapshot -i
click "$filter" && snapshot -i
click "$name_condition" && snapshot -i
fill "$name_input" "$customer_lookup" && press 'Escape' && snapshot -i
get text body
check "$customer_checkbox" && snapshot -i
click "$open_send" && snapshot -i
click "$template_picker" && snapshot -i
press 'ArrowDown' && snapshot -i
click "$template_option" && snapshot -i
get text body
click "$preview" && wait --text '발송 가능' && snapshot -i
get text body
click "$confirm_send" && snapshot -i
get text body
open "$delivery_history_url" && snapshot -i
get text body
# Outside browser: The test customer checks the received text and links in the external channel.
Ref targets and expected results
#Command / refTarget and verification
1click $filterCustomer table filter button
2click $name_conditionName condition (name) in the customer table
3fill $name_inputName filter value input
4pressClose the filter popover.
5get textCompare customer ID and contact with the source record.
6check $customer_checkboxCheckbox for one test customer row
7click $open_sendSend button for the selected customers
8click $template_pickerTemplate chooser in the send dialog
9pressExpand the template list.
10click $template_optionTemplate option matching template_id and name
11get textCompare selected template and account with the inputs.
12click $previewPreview button; distinguish it from the send button
13waitWait for recipient eligibility counts.
14get textCompare preview counts, first eligible recipient and text with expectations.
15click $confirm_sendFinal send button for reviewed recipients; do not repeat an uncertain request
16get textRead this request identifier and any error from the result.
17openDelivery history for the template used
18get textRead the delivery state matching customer, template and attempt time.
19Outside browserThe test customer checks the received text and links in the external channel.

Check the result

This message reaches the same customer with the intended text and links.

Resuming after interruption

Inspect the original delivery ID first. Stop if delivery is uncertain; distinguish an explicit retry from the original attempt.

Before sending a booking notice or campaign, filter your recipients and run a preview advertising send check to verify eligibility and variable substitution. Always validate the full flow with one test customer whose incoming message you can inspect directly before expanding to a larger group.

This guide covers filtering recipients, choosing a template, inspecting the preview, submitting the send, and matching delivery history against actual receipt.

Multi-recipient preview example: 계정 (Account) = 데모 클리닉 LINE (5 synthetic test customers), template 10월 재방문 상담 안내

Single test send rule: Verify live delivery with one operator-owned test recipient before messaging a broader cohort.

[blocked]

Filter recipients and select rows

1. Narrow the customer list with search or filters

Open Customers (고객) in the left menu and select Filter (필터). To find one test customer, select Name (이름), enter the customer name, and press Escape to close the popover. To target a channel group, filter by Account (계정) such as 데모 클리닉 LINE.

Compare the displayed customer ID and contact details against the source record. An 활성 (Active) customer status does not prove reservation status or marketing consent.

2. Check the target rows and open the Send dialog

For an initial live test, check one test customer row and select Send (발송) above the table. When inspecting a multi-customer cohort, check the header box and confirm that the button label matches your selection count, such as Send (5) (발송 (5)).

3. Select the template and confirm its linked account

Click the Template (템플릿) chooser in the Send dialog, press ArrowDown to open the list, and select your prepared template. When several channels have similarly named templates, check the template kind and linked account displayed in the dialog.

If the template includes a reservation time variable, select the matching reservation record as well. Do not enter an invented time or unrelated reservation just to pass validation.

[blocked]

Verify eligibility and text with preview

Select Preview (미리보기) before clicking the final send button. Wait until the dialog displays the Ready (발송 가능) and Blocked (발송 불가) counts.

Use these checks for single-recipient and multi-recipient previews.

Preview scopeWhat to compare on screenPass criteria
Single test customer발송 가능 1, recipient address (받는 사람), rendered textThe test customer is ready and all name or booking variables substitute cleanly.
Multi-customer cohort (5 rows)Ready count, blocked count with exclusion reasons, first ready text sampleWithdrawn or missing-contact rows are excluded with clear reasons, and the sample text is accurate.

In a multi-recipient preview, the rendered message sample shows only the first ready customer. It does not display every selected recipient's individual message.

This 39-second recording selects five synthetic customers under 데모 클리닉 LINE, runs Preview for 10월 재방문 상담 안내, and checks eligible counts, consent exclusions, and the rendered text sample.

[blocked]

Submit the send request

Select the final Send (발송) button only after the preview counts, recipient address, and rendered copy match your expectations. Clicking this button starts live message delivery to ready recipients.

Read the request identifier and any error text returned by the dialog. If the response is slow, do not open a new dialog and click Send again for the same customer. Check delivery history first so you do not send duplicate messages.

[blocked]

Check delivery history and external receipt

1. Inspect the request status in template delivery history

Open Templates (템플릿) in the left menu, expand the template you used, and open its delivery history. Find the row matching your test customer, template, and timestamp, then read the current delivery state.

Record request submission separately from provider delivery or read confirmation.

2. Verify the received text and links on the test device

Complete verification on the external receiving channel. Open the message on your test device and confirm that the body text and links open as intended.

The live delivery recording slot requires a provider-approved test sender and an operator-owned recipient account. A synthetic preview recording never substitutes for live delivery evidence.

When you expand from one test customer to a larger group, run a fresh preview to check the new counts and exclusions. Continue to Check message failures and retries if any deliveries fail. For voice calls, use Place an AI outbound call with a phone template.

If the result differs from what you expected

The intended template does not appear in the Send dialog

Check that the selected customers belong to the same channel account linked to the template. If the rows mix different channels or the template is not ready, review Prepare a sending account and message template.

The test customer is marked as blocked in preview

If the exclusion reason states 이 채널의 광고 수신동의가 없습니다 (no advertising consent for this channel), the customer lacks consent or has withdrawn it for that medium. Check the customer's consent ledger in Record advertising consent and withdrawal.

The send response is delayed and the status is unclear

Do not click Send again from a new dialog. Open the template's delivery history first and look for a delivery ID matching the customer and attempt time. Wait for that request to settle before deciding whether a retry is needed.

Delivery history shows success, but no message arrives

Compare the recipient address in delivery history with the actual test device account, and inspect any provider status code. Follow Check message failures and retries to resolve sender credentials or provider approval issues before retrying failed rows.