Skip to main content

Actions

Let your Delphi jump in at the perfect moment—sending tailored messages, tagging users, and syncing data while you focus on high-value work.

J
Written by Jaya Nayar
Updated today

What are Actions?

Actions are self-running workflows that your Delphi carries out whenever a user hits a threshold you set—such as staying inactive for a week, buying a membership, or reaching their message limit.

When that trigger fires, your Delphi checks the latest context and replies just as you would: sending a personalized note, tagging the user, updating the properties associated with the user, or syncing data to another tool.

You decide the rule; your Delphi handles the rest.

Below are examples of how to use Actions:

  • User-requested reminders – When someone says “remind me tomorrow,” your Delphi pings them at the exact time they asked with a message personalized to what they asked to be reminded about.

  • Post-conversation plans – The moment a chat wraps up, your Delphi shares next steps over email and lists out the action items the person agreed to in their conversation.

  • Inactivity nudges – After a week of silence, your Delphi checks in with a friendly “Need any help?” to keep users engaged.

  • Thank-you & feedback loops – Right after signup or purchase, your Delphi delivers a warm thank-you, then asks for feedback on the product the next day to help you keep improving upon it.

  • Smart tagging & data forwarding – Each time a user mentions a new goal, your Delphi adds the right tag and forwards details to your CRM.

  • Weekly progress checks & conversation recaps – Every seven days—or every 50 messages—your Delphi sends a concise progress update or chat summary so everyone stays on track.


Quick Start Guide

Click here to watch our video tutorial series instead!

1. Create a New Flow: Start from scratch, use a template, or type natural-language instructions into the prompt bar—your Delphi will understand.

2. Set Your Trigger: Choose what activates an action—whether it’s a message, an event, or a milestone. Your Delphi doesn’t just react—it responds with context.

Trigger

Activation Condition

Use Case

Alert Triggered

User mentions a topic

Auto-respond, escalate, tailored follow-ups

Conversation Ended

5+ messages & user ends

Personalized follow-ups, trend tracking

Usage

User hits chat/call/video limit

Engagement prompts, proactive outreach

Quota Reached

User reaches usage quota

Upsells, alternative access suggestions

Inactivity

User inactive for set time

Smart re-engagement, contextual check-ins

Phone Captured

User enters phone number

Verify contacts, personalized SMS outreach

Product Recommended

Delphi recommends a product

Smart follow-ups, discounts

Membership

User subscribes

Personalized welcome, onboarding

Payment Made

User completes a payment

Premium access, tailored next steps

Specific Date/Time

Scheduled date/time reached

Contextual reminders, event-based engagement

Recurring Schedule

Set interval reached

Automated updates, sustained conversations

3. Pick Your Actions: Decide how your Delphi responds—not with generic automations, but with actions that mirror how you would naturally engage. You can add up to 3 actions per trigger.

Action

Functionality

Use Case

Send message

Sends you or your user a notification

Stay informed yourself, engage your users

Update Tag

Assigns/removes a tag from a user

Track behaviors, segment users

Update Property

Assigns/removes a property from a user

Categorize users, accumulate metadata

Custom API

Sends a POST request with user details to an API

Sync data with external systems, update CRMs, integrate analytics

4. Save & Publish: Click Save to store your flow, then Publish to activate it.

5. Monitor Your Flow: Your action is live! Adjust it anytime to refine interactions. Disable it instantly from Your Actions—green means active, red means paused. Check for activations in the activity log at the bottom of the triggers sidebar or actions sidebar: this shows you every time the trigger or action has been set off.

💡 Click here to go to Actions in Studio and start creating personalized, context-aware workflows.


Full Feature Guide

🎥 Prefer to learn by video tutorials? Click here

Setup Walkthrough

Step 1: Accessing Actions

  1. Navigate to the Advanced d

  2. Click on "Actions" in the sidebar under the "Automations" header.

Step 2: Creating an Action

Option A: Delphi Templates

1. Browse the pre-built templates section and select one based on either their brief descriptions or the detailed template guides below. Each template can be customized to your needs.

Available Templates

User Engagement and Retention

  • Inactivity nudge: Messages inactive users to re-engage them.

  • Weekly progress check: Sends a weekly check-in message.

  • Conversation Recap: Auto-sends a summary every 50 messages.

Follow-ups and Reminders

  • User-requested reminder: Follows up when users ask for a reminder.

  • Event reminder: Reminds users about upcoming events.

  • Follow-up message: Reconnects with users about past topics or mentioned events.

  • Post-conversation plan: Sends next steps to users after a conversation.

  • Instant meeting setup: Auto-sends your calendar link upon request by users.

  • Pre-event pep talk: Calls users an hour before events with a pep talk.

Messsage Scripting

  • Thank you message: Sends a welcome message to new users.

  • Support response: Provides a predefined reply to support requests.

  • Feedback collection: Requests feedback after a user’s first conversation.

Data Collection

  • User tagging: Categorizes users based on their interactions.

  • Data forwarding: Forwards user data to an API.

  • User properties: Stores a user’s location when mentioned.

Conversion & Growth

  • Personal contact: Notifies you about highly inactive users.

  • Convert Users: Sends users a signup link after 10 chat messages.

  • Quota Reached: Offers a discount when users hit their chat quota limit the first time.

Multi-Step Actions

  • Member Check-In - Part 1: Enables accountability for members only, 2 part process.

  • Member Check-In - Part 2: Enables accountability for members only, 2 part process.

  • Birthday Wishes: Sends a personalized note on every user’s birthday.

2. Customize your selected template’s settings. Take a look at the Triggers and Actions Guides below for a detailed explanation of how to customize each trigger and action.

Actions do not automatically save. Always click “Save” to prevent losing your changes.

3. Click “Save” in the top right corner. Now you’ve published your first Action!

Option B: Scratch

1. Click the “New Flow” box in the “Start from Scratch” section.

2. Click “Add Trigger.”

3. Click the “When: User ends a conversation” box under “Trigger” to customize your trigger.

4. In the right-side popup, select your desired trigger type from the dropdown list. Below, you’ll find all available triggers with details on how they work, customization options, and best use cases.

Alert Triggered

Understand It: This trigger activates when a user mentions a specific topic or concept in conversation.

⚙️ Customize It: Choose which alert to connect this trigger to, determining what type of conversation topic will activate it. Select your desired alert from the dropdown list of all your alerts. To learn more about customizing alerts, see this documentation guide.

💡 Example: If you set an alert for the keyword “pricing”, the trigger will activate when a user asks something like “How much does this cost?” or “What are the pricing plans?”. You can then decide what action this trigger causes, such as sending an automated response, escalating the conversation, or prompting a follow-up.

🎯 Use It: Automatically respond to key topics, escalate important discussions, or prompt follow-ups based on user interests.

Conversation Ended

Understand It: This trigger activates when a conversation reaches at least five messages (total between the user and the Delphi) and then ends.

⚙️ Customize It: N/A

💡 Example: If a user has a five-message or longer discussion with your Delphi about career advice and then leaves, this trigger will activate. You can then decide what action this trigger causes, such as sending a follow-up, requesting feedback, or tracking conversation trends.

🎯 Use It: Send follow-ups, request feedback, track conversation trends, or initiate next steps after user interactions.

Usage

Understand It: This trigger activates when a user reaches a set number of messages or minutes. It can either trigger only the first time they reach this threshold or every time they reach this threshold.

⚙️ Customize It: Choose what to track—chat messages, voice minutes, or video minutes—by selecting an option from the “What are we tracking?” dropdown. Then, set the activation threshold by entering the desired numerical limit for messages or minutes under “After how many units of usage?”

💡 Example: If you configure the trigger to activate after every 10 messages, it will fire every time a user sends a message that’s a multiple of 10 (10 messages, 20 messages, etc.). You can then decide what action this trigger causes, such as prompting deeper engagement, unlocking rewards, or guiding users through structured interactions.

🎯 Use It: Encourage deeper engagement, offer mid-conversation prompts, unlock rewards, or guide users through structured interactions.

Note: Republishing or editing a Flow triggered by usage resets the user’s usage count to zero. For example, if a user had sent 7 messages toward a 10-message trigger, and you change the limit to 9, their progress resets. Instead of needing 2 more messages, they would need to send 9 again for the trigger to activate.

Quota Reached

Understand It: This trigger activates when a user reaches their usage quota while interacting with your Delphi.

⚙️ Customize It: Select the quota type to track—message limits, voice minutes, or video minutes—from the “What are we tracking?” dropdown.

💡 Example: If a user has a quota of 50 messages and sends their 50th message, this trigger will activate. You can then decide what action this trigger causes, such as prompting a subscription upgrade, offering alternative access options, or upselling users to your other products.

🎯 Use It: Prompt subscription upgrades, offer alternative access options, and upsell users to your other products.

Note: Republishing or editing a Flow triggered by usage resets the user’s usage count to zero. For example, if a user had sent 7 messages toward a 10-message trigger, and you change the limit to 9, their progress resets. Instead of needing 2 more messages, they would need to send 9 again for the trigger to activate.

Inactivity

Understand It: This trigger activates when a user has been inactive for a specified number of days.

⚙️ Customize It: Set when the trigger activates by entering a number under “Inactive for” and selecting days, weeks, or months from the dropdown.

💡 Example: If you set the trigger for 7 days, it will activate once a user has been inactive for a full week. You can then decide what action this trigger causes, such as sending a check-in message, offering an incentive to return, or reminding them about new features or updates.

🎯 Use It: Re-engage users with a check-in message, offer incentives to return, or remind them about ongoing features or updates.

Phone Number Captured

Understand It: This trigger activates when a user enters their phone number.

⚙️ Customize It: N/A

💡 Example: If a user provides their phone number during a conversation, this trigger will activate. You can then decide what action this trigger causes, such as verifying their contact details, enabling SMS-based interactions, or triggering follow-ups based on their registration.

🎯 Use It: Verify user contact details, enable SMS-based interactions, or trigger follow-ups based on user registration.

Product Recommended

Understand It: This trigger activates when your Delphi recommends a product to a user during a conversation.

⚙️ Customize It: Choose a product to recommend from the “Select Product” dropdown, which includes all your available products. Learn how to modify your product offerings in this documentation page.

💡 Example: If your Delphi suggests a coaching package or an exclusive course, this trigger will activate. You can then decide what action this trigger causes, such as following up on their interest, offering a discount, or tracking engagement with recommended products.

🎯 Use It: Follow up on product interest, offer discounts or incentives, or track engagement with recommended products.

Membership

Understand It: This trigger activates when a user subscribes to your membership, allowing you to automate responses and follow-ups.

⚙️ Customize It: Choose which membership tier to track by selecting from the “Select Tier” dropdown, which includes all of your available membership tiers. Learn how to modify or add membership options in this documentation page.

💡 Example: If a user joins your premium tier, this trigger will activate. You can then decide what action this trigger causes, such as sending a welcome message, granting exclusive access, or guiding them through onboarding.

🎯 Use It: Send welcome messages, grant exclusive access, offer onboarding guidance, or track new subscribers.

Payment Made

Understand It: This trigger activates when a user completes a payment for a membership or usage.

⚙️ Customize It: Choose to track all transactions, memberships only, or usage-based charges by selecting one of these three options from the “Payments for” dropdown.

💡 Example: If a user pays for a monthly subscription or a one-time service, this trigger will activate. You can then decide what action this trigger causes, such as sending a payment confirmation, granting premium access, or tracking revenue.

🎯 Use It: Send payment confirmations, grant premium access, track revenue, or trigger automated onboarding messages.

On a specific date/time

Understand It: This trigger activates when a scheduled date and time is reached, triggering a one-time action.

⚙️ Customize It: elect the exact activation date under “Timing” and enter the time in military format (24-hour clock).

💡 Example: If you schedule an announcement for March 15 at 14:00 (2 PM PST), this trigger will activate exactly at that moment. You can then decide what action this trigger causes, such as sending reminders, making announcements, or automating time-sensitive actions.

🎯 Use It: Schedule announcements, send reminders, or automate time-sensitive actions.

On a recurring schedule

Understand It: This trigger activates when a repeating schedule is reached, triggering the action at set intervals (e.g., every 7 days).

⚙️ Customize It: Set the frequency by entering a number between “every” and “days”, and choose the time in military format (24-hour clock). The highest frequency currently allowed is daily. Optionally, set an end date for when the schedule should stop, though this is not required.

💡 Example: If you configure the trigger to activate every 7 days at 10:00 (PST), it will fire once a week at that time. You can then decide what action this trigger causes, such as sending scheduled reminders, automating regular updates, or maintaining ongoing engagement.

🎯 Use It: Automate regular updates, send scheduled reminders, or maintain ongoing engagement.

5. Complete your trigger setup with two final choices:

User Tag (Optional)

What It Does: Filters the trigger to activate only for users within specific tagged groups.

⚙️ How to Select: Choose one or multiple tagged groups from the “User Tag” dropdown under “Filters” (default is set to “None,” which includes all users).

💡 Example: If you tag VIP users and set this filter to trigger only for them, it will activate only when a VIP user completes an action, such as making a purchase or reaching a message quota.

Notes:

  • Multiple tags: If you select multiple tags, the Action will apply to users who qualify for any of the selected groups, rather than only those who belong to all of them. If you want to target only users who belong to both tags, consider creating a new tag group that includes only those users.

  • No tags: If you select “None,” the Action will apply to all users.

Frequency

What It Does: Determines how often the trigger activates when the condition is met.

  • “Every” – Fires every time the trigger condition occurs (e.g., every conversation end, every purchase) for every user.

  • “First” – Fires only the first time that a user meets the trigger condition for every user.

⚙️ How to Select: Toggle between “First” and “Every” under “Settings” → “Trigger on.”

💡 Example: If you choose “Every”, and the trigger is set to activate when a user completes a purchase, it will fire every time that user makes a purchase. VS. If you choose “First”, the trigger will fire only the first time that user makes a purchase, but not for any future purchases.

🚫 Limitations: Not available for scheduling triggers (On a Specific Date/Time and On a Recurring Schedule) since their activation is predefined.


6. Click “Add Action.”

7. Click the “Do: Notify the user with a Prompt via Medium” box under “Action” to customize your action.

8. In the right-side popup, select your desired action type from the dropdown list. Below are all available actions, with descriptions of how each one works and its specific configuration settings.

Send Message: Contact Owner

Understand It: This action allows Delphi (the company) to send you, the Delphi owner, personalized updates or reminders based on specific user interactions. Instead of generic notifications, Delphi crafts tailored messages using context from the trigger event to ensure every response is relevant.

⚙️ Customize It: Select your preferred notification type from the Notification Type dropdown. Options include:

  • Email – Delphi will send you a context-aware notification via email.

  • Text Message – Delphi will send you a personalized notification via SMS.

In the box labeled “Describe what should be sent, using the data selected above,” enter a general instruction rather than a specific scripted message. Delphi will generate the right response dynamically, using real-time context from the trigger event. Example:

  • If your trigger is set for new membership purchases and you want Delphi to send you an email reminder to welcome them, you might enter: “Remind me to greet new members and acknowledge their subscription.”

  • We will then generate a situationally appropriate message, such as: “You have a new member, [Name]. They signed up for [Membership Tier] on [Date]. You might want to send them a welcome message and share next steps!”

💡 Example:

  • If you set the Send Message: Contact Owner action to trigger when a new user subscribes to a membership, you might enter: “Remind me to greet new members and acknowledge their subscription.”

  • Delphi will then generate a context-aware notification, such as: “You have a new member, [Name]. They signed up for [Membership Tier] on [Date]. You might want to send them a welcome message and share next steps!”

  • This ensures you stay updated on important interactions and can respond promptly.

🎯 Use It: Stay informed about important user interactions while ensuring that every notification is highly relevant and tailored to the situation. Get alerts for quota limits, payments, or membership sign-ups, and ensure your responses are timely, thoughtful, and specific.

Send Message: Contact User

Understand It: This action allows your Delphi to contact a user with a response that is personalized in real-time based on the instructions you provide. Instead of a fixed, scripted message, Delphi dynamically generates a reply using the provided guidance and context from the conversation.

⚙️ Customize It:

  1. Select your preferred notification type in the Notification Type dropdown. The available options depend on:

    1. The type of trigger you selected

    2. When the action is scheduled relative to the trigger event (For a deeper explanation of the three timing options, see point 9 below).

  2. Choose the preferred response method:

    • Reply in Conversation – Your Delphi will immediately respond in any active medium (chat, voice call, video call, SMS conversation, phone call) with a reply that follows your specified guidance. This response will replace whatever Delphi would have otherwise generated while still maintaining contextual relevance. If you pick a medium from one of the options below, it will send a separate message via that medium.

    • Email – Your Delphi will send the user a personalized email crafted using your instructions. A “Click Here to Respond” button at the bottom will direct them to your Delphi web interface, allowing them to continue the conversation seamlessly.

    • Text Message – Your Delphi will send a personalized response via SMS. The user can then continue chatting with Delphi over text, ensuring a fluid and ongoing interaction.

    • Phone Call – Your Delphi will call the user and read aloud a tailored response based on your instructions. The user can then continue speaking with Delphi on the phone, making the conversation feel more natural and interactive.

  3. In the “Describe what should be sent, using the data selected above” box, provide general instructions rather than a specific message. This ensures Delphi adapts the response based on the user’s situation.

💡 Example:

  • If you set the Send Message: Contact User action to trigger when a user reaches their message quota, you might enter: “Let them know they’ve hit their limit and offer an upgrade option.”

  • Delphi will then generate a response such as: “Hey [Name], you’ve reached your message limit for this plan. If you’d like to continue the conversation, you can upgrade your access [here]. Let me know if you have any questions!”

  • This ensures the user receives a timely and relevant notification, encouraging them to take the next step.

🎯 Use It: Ensure users receive prompt, personalized, and relevant responses that keep conversations flowing naturally and intelligently. Delphi doesn’t just reply—it continues the interaction, maintaining context and engagement.

Update Tag

Understand It: This action allows you to either add or remove a tag from a user based on their interaction. Tags help you segment users, personalize engagement, and track behavior effectively.

⚙️ Customize It:

  1. Toggle between “Add Tag” or “Remove Tag” to specify whether you want to apply or remove a tag.

  2. Select the applicable tag from the “Properties” dropdown.

💡 Example 1: If a user expresses interest in a premium feature, you can select “Add Tag” and apply a “Potential Upsell” tag. This allows you to later target these users with special offers or tailored messages.

💡 Example 2: If a user upgrades from a trial to a paid membership, you can select “Remove Tag” to remove the “Trial User” tag. This ensures they no longer receive trial-specific content and helps maintain accurate user segmentation.

🎯 Use It: Segment users dynamically, trigger personalized follow-ups, and refine user categorization based on their latest interactions.

Update Property

Understand It: This action allows you to either set or remove a property from a user based on their interaction. Properties store key details about users, such as preferences, activity levels, or status, enabling more personalized experiences and targeted engagement.

⚙️ Customize It:

  1. Toggle between “Set Property” or “Remove Property” to specify whether you want to assign or delete a property.

  2. Select the applicable property from the “Properties: Property to set” dropdown.

💡 Example 1: If a user completes an onboarding tutorial, you can select “Set Property” and assign “Onboarding Completed = Yes.” This allows you to track which users have finished onboarding and tailor future interactions accordingly.

💡 Example 2: If a user cancels their subscription, you can select “Remove Property” and delete “Active Subscriber.” This ensures they no longer receive member-specific content or perks.

🎯 Use It: Store valuable user attributes, track key milestones, and refine audience segmentation to create more relevant and meaningful interactions.

Custom API

Understand It: This action sends a POST request to a specified API with user details, including name, email, phone number, timestamp, and the triggered event.

⚙️ Customize It: 1) Specify the endpoint URL in the “Endpoint URL” box. 2) Configure headers under “Headers.” We automatically create the Content-Type header with the value application/json. You can add one additional header, such as an API token for authorization. Any API token you enter will be encrypted for security and automatically decrypted when sent with the request, ensuring the receiving system can validate that the data is coming from Delphi.

💡 Example: If a user completes a purchase, Delphi can send their name, email, and purchase details to your CRM or analytics tool, ensuring seamless data tracking across platforms.

🎯 Use It: Sync user attributes with external systems, update CRMs, or integrate with analytics tools.

9. Complete your action setup by selecting when to execute the action after the trigger:

Immediate

Initiates the action as soon as the trigger occurs.

💡 Example: If a user completes a product recommendation flow with a send message: contact user action, and the delay is set to instant, your Delphi could instantly message them: “I think you’d love [Product Name]! Here’s a link to check it out: [Link]. Let me know if you have any questions!”

Fixed Delay

Delays the Action for a set time relative to when the trigger occurs. For example, if a user purchases a membership at 8 AM and you set a 2-hour delay before contact, they will receive the notification at 10 AM. Enter a numerical value and select minutes, hours, or days from the dropdown.

💡 Example: If you set a Fixed Delay of 2 hours for a Follow-Up Message after a user abandons their checkout, Delphi will wait exactly 2 hours before sending the message. So, if a user adds an item to their cart at 10 AM but doesn’t complete the purchase, they’ll receive a message at 12 PM, such as: “Still thinking about [Product Name]? Your cart is waiting! Let me know if you need any help.”

Custom Delay

Lets your Delphi intelligently determine the best time to execute the action based on conversation history or the instructions you provide in the “Custom Delay: Describe what the delay should be” box. For example, “Message the user an hour after their date” or “Send a birthday message on their birthdate.” Keep the description short—the more concise it is, the easier it will be for your Delphi to understand.

💡 Example: If you set a Custom Delay for a Birthday Message, you might enter: “Send the user a message on their birthday.” Delphi will check their stored birthdate and send a message at the appropriate time, such as: “Happy Birthday, [Name]! 🎉 Wishing you an amazing day. Let me know if I can help with anything special today!”

10. To add multiple actions for the same trigger, click the “Add Action” button in the top left corner. This allows you to create a second and third action, each of which can be customized independently while still being triggered by the same event.

11. Review any validation warnings or errors that appear in the top-left corner. Address these before proceeding.

12. Click “Save” to publish your flow. The status indicator will change from “Unsaved” (yellow) to “Published” (blue) when complete.

Actions do not automatically save. You need to click “save” to make sure your changes aren’t lost.

Option C: Composer

1. Use the Composer to quickly describe the Actions flow you want—no need to build it step by step. Simply type what you want your Delphi to do, and it will automatically generate the flow for you, including up to 3 actions if your request is clear. The Composer works best for triggers specific to the Actions feature, such as conversation ended, user inactivity, quota reached, usage milestone, phone number captured, payment made, a specific date/time, or a recurring schedule. But below is a full list of triggers and actions you can request:

Triggers (Events That Start a Flow)

  • Alert Triggered: An alert activates.

  • Conversation Ended: A user finishes a conversation.

  • Usage: A user reaches a set number of messages or voice/video minutes.

  • Quota Reached: A user hits their message or minute quota.

  • Inactivity: A user remains inactive for a set period.

  • Phone Number Captured: A user provides their phone number.

  • Product Recommended: Your Delphi suggests a product.

  • Membership: A user purchases a specific membership tier.

  • Payment Made: A user completes a payment.

  • On a Specific Date/Time: The scheduled date and time arrives.

  • On a Recurring Schedule: The defined schedule repeats.

Actions (What Happens in Response)

  • Send Message: Contact Owner: We send you a message.

  • Send Message: Contact User: Your Delphi sends your user a message.

  • Update Tag: Assigns/removes a tag from the user.

  • Update Property: Assigns/removes a property from the user.

  • Custom API: Sends data to an external API.

2. Once the flow is generated, you can edit it in two ways:

  • Use the sidebar: Modify your trigger and action settings just as described in Option B.

  • Edit directly in the Composer: Modify your prompt in the box at the bottom of the page to fine-tune your Delphi’s behavior.


Step 3: Testing Your Action

Test your action by using the “Trigger Occurences” and “Action Occurences” log at the bottom of the sidebar when you click on a trigger or action.

  1. Set up your flow: Configure your Delphi flow, including the necessary triggers and actions.

  2. Trigger Activation: Interact with your Delphi in a way that activates the trigger, or have someone else do so.

  3. Verify Trigger Execution

    1. Reload the flow.

    2. Check the “Trigger Occurrences” log in the sidebar.

    3. If the trigger appears, it’s correctly set up and will execute immediately or after whatever delay you have set.

  4. Confirm Action Execution

    • If the action involves user contact, wait for the expected message or interaction to occur.

    • If it’s a non-contact action, check the “Action Occurrences” log to confirm execution.

    • If the action is on a delay, allow time for execution. Otherwise, it should happen immediately.

  5. If needed, edit your action using the sidebar or the composer, as described in Step 2.

For Send Message actions, responses will vary slightly each time—just as your Delphi’s responses naturally do in regular conversations, even when the same question is asked. Try triggering it multiple times to see the differences.


Step 4: Managing Active Actions

To edit an Action, click on it to open the Actions Playground, then make changes as described in Step 2: edit via the sidebar or composer.

You can also disable, re-enable, or delete actions:

  1. Find the Action you want to adjust.

  2. Click the three dots in the top right corner of the action’s box.

  • Disable an action: Click “Disable Flow.” The green dot in the left corner will turn red, confirming it’s disabled. The Action will no longer run.

  • Re-enable an action: Click “Enable Flow” in the same menu. The red dot will revert to a green dot, indicating the Action is active again and will run automatically.

  • Delete an action: Click “Delete Flow” in the same menu to permanently remove the Action from your Actions Dashboard. This cannot be undone.



Triggers & Actions Guides

Triggers Guide

All Triggers Available

Alert Triggered

Understand It: This trigger activates when a user mentions a specific topic or concept in conversation.

⚙️ Customize It: Choose which alert to connect this trigger to, determining what type of conversation topic will activate it. Select your desired alert from the dropdown list of all your alerts. To learn more about customizing alerts, see this documentation guide.

💡 Example: If you set an alert for the keyword “pricing”, the trigger will activate when a user asks something like “How much does this cost?” or “What are the pricing plans?”. You can then decide what action this trigger causes, such as sending an automated response, escalating the conversation, or prompting a follow-up.

🎯 Use It: Automatically respond to key topics, escalate important discussions, or prompt follow-ups based on user interests.

Conversation Ended

Understand It: This trigger activates when a conversation reaches at least five messages (total between the user and the Delphi) and then ends.

⚙️ Customize It: N/A

💡 Example: If a user has a five-message or longer discussion with your Delphi about career advice and then leaves, this trigger will activate. You can then decide what action this trigger causes, such as sending a follow-up, requesting feedback, or tracking conversation trends.

🎯 Use It: Send follow-ups, request feedback, track conversation trends, or initiate next steps after user interactions.

Usage

Understand It: This trigger activates when a user reaches a set number of messages or minutes. It can either trigger only the first time they reach this threshold or every time they reach this threshold.

⚙️ Customize It: Choose what to track—chat messages, voice minutes, or video minutes—by selecting an option from the “What are we tracking?” dropdown. Then, set the activation threshold by entering the desired numerical limit for messages or minutes under “After how many units of usage?”

💡 Example: If you configure the trigger to activate after every 10 messages, it will fire every time a user sends a message that’s a multiple of 10 (10 messages, 20 messages, etc.). You can then decide what action this trigger causes, such as prompting deeper engagement, unlocking rewards, or guiding users through structured interactions.

🎯 Use It: Encourage deeper engagement, offer mid-conversation prompts, unlock rewards, or guide users through structured interactions.

Note: Republishing or editing a Flow triggered by usage resets the user’s usage count to zero. For example, if a user had sent 7 messages toward a 10-message trigger, and you change the limit to 9, their progress resets. Instead of needing 2 more messages, they would need to send 9 again for the trigger to activate.

Quota Reached

Understand It: This trigger activates when a user reaches their usage quota while interacting with your Delphi.

⚙️ Customize It: Select the quota type to track—message limits, voice minutes, or video minutes—from the “What are we tracking?” dropdown.

💡 Example: If a user has a quota of 50 messages and sends their 50th message, this trigger will activate. You can then decide what action this trigger causes, such as prompting a subscription upgrade, offering alternative access options, or upselling users to your other products.

🎯 Use It: Prompt subscription upgrades, offer alternative access options, and upsell users to your other products.

Note: Republishing or editing a Flow triggered by usage resets the user’s usage count to zero. For example, if a user had sent 7 messages toward a 10-message trigger, and you change the limit to 9, their progress resets. Instead of needing 2 more messages, they would need to send 9 again for the trigger to activate.

Inactivity

Understand It: This trigger activates when a user has been inactive for a specified number of days.

⚙️ Customize It: Set when the trigger activates by entering a number under “Inactive for” and selecting days, weeks, or months from the dropdown.

💡 Example: If you set the trigger for 7 days, it will activate once a user has been inactive for a full week. You can then decide what action this trigger causes, such as sending a check-in message, offering an incentive to return, or reminding them about new features or updates.

🎯 Use It: Re-engage users with a check-in message, offer incentives to return, or remind them about ongoing features or updates.

Phone Number Captured

Understand It: This trigger activates when a user enters their phone number.

⚙️ Customize It: N/A

💡 Example: If a user provides their phone number during a conversation, this trigger will activate. You can then decide what action this trigger causes, such as verifying their contact details, enabling SMS-based interactions, or triggering follow-ups based on their registration.

🎯 Use It: Verify user contact details, enable SMS-based interactions, or trigger follow-ups based on user registration.

Product Recommended

Understand It: This trigger activates when your Delphi recommends a product to a user during a conversation.

⚙️ Customize It: Choose a product to recommend from the “Select Product” dropdown, which includes all your available products. Learn how to modify your product offerings in this documentation page.

💡 Example: If your Delphi suggests a coaching package or an exclusive course, this trigger will activate. You can then decide what action this trigger causes, such as following up on their interest, offering a discount, or tracking engagement with recommended products.

🎯 Use It: Follow up on product interest, offer discounts or incentives, or track engagement with recommended products.

Membership

Understand It: This trigger activates when a user subscribes to your membership, allowing you to automate responses and follow-ups.

⚙️ Customize It: Choose which membership tier to track by selecting from the “Select Tier” dropdown, which includes all of your available membership tiers. Learn how to modify or add membership options in this documentation page.

💡 Example: If a user joins your premium tier, this trigger will activate. You can then decide what action this trigger causes, such as sending a welcome message, granting exclusive access, or guiding them through onboarding.

🎯 Use It: Send welcome messages, grant exclusive access, offer onboarding guidance, or track new subscribers.

Payment Made

Understand It: This trigger activates when a user completes a payment for a membership or usage.

⚙️ Customize It: Choose to track all transactions, memberships only, or usage-based charges by selecting one of these three options from the “Payments for” dropdown.

💡 Example: If a user pays for a monthly subscription or a one-time service, this trigger will activate. You can then decide what action this trigger causes, such as sending a payment confirmation, granting premium access, or tracking revenue.

🎯 Use It: Send payment confirmations, grant premium access, track revenue, or trigger automated onboarding messages.

On a specific date/time

Understand It: This trigger activates when a scheduled date and time is reached, triggering a one-time action.

⚙️ Customize It: elect the exact activation date under “Timing” and enter the time in military format (24-hour clock).

💡 Example: If you schedule an announcement for March 15 at 14:00 (2 PM PST), this trigger will activate exactly at that moment. You can then decide what action this trigger causes, such as sending reminders, making announcements, or automating time-sensitive actions.

🎯 Use It: Schedule announcements, send reminders, or automate time-sensitive actions.

On a recurring schedule

Understand It: This trigger activates when a repeating schedule is reached, triggering the action at set intervals (e.g., every 7 days).

⚙️ Customize It: Set the frequency by entering a number between “every” and “days”, and choose the time in military format (24-hour clock). The highest frequency currently allowed is daily. Optionally, set an end date for when the schedule should stop, though this is not required.

💡 Example: If you configure the trigger to activate every 7 days at 10:00 (PST), it will fire once a week at that time. You can then decide what action this trigger causes, such as sending scheduled reminders, automating regular updates, or maintaining ongoing engagement.

🎯 Use It: Automate regular updates, send scheduled reminders, or maintain ongoing engagement.

Complete your trigger setup with two final choices:

User Tag (Optional)

What It Does: Filters the trigger to activate only for users within specific tagged groups.

⚙️ How to Select: Choose one or multiple tagged groups from the “User Tag” dropdown under “Filters” (default is set to “None,” which includes all users).

💡 Example: If you tag VIP users and set this filter to trigger only for them, it will activate only when a VIP user completes an action, such as making a purchase or reaching a message quota.

Notes:

  • Multiple tags: If you select multiple tags, the Action will apply to users who qualify for any of the selected groups, rather than only those who belong to all of them. If you want to target only users who belong to both tags, consider creating a new tag group that includes only those users.

  • No tags: If you select “None,” the Action will apply to all users.

Frequency

What It Does: Determines how often the trigger activates when the condition is met.

  • “Every” – Fires every time the trigger condition occurs (e.g., every conversation end, every purchase) for every user.

  • “First” – Fires only the first time that a user meets the trigger condition for every user.

⚙️ How to Select: Toggle between “First” and “Every” under “Settings” → “Trigger on.”

💡 Example: If you choose “Every”, and the trigger is set to activate when a user completes a purchase, it will fire every time that user makes a purchase. VS. If you choose “First”, the trigger will fire only the first time that user makes a purchase, but not for any future purchases.

🚫 Limitations: Not available for scheduling triggers (On a Specific Date/Time and On a Recurring Schedule) since their activation is predefined.

Actions Guide

All Actions Available

Send Message: Contact Owner

Understand It: This action allows Delphi (the company) to send you, the Delphi owner, personalized updates or reminders based on specific user interactions. Instead of generic notifications, Delphi crafts tailored messages using context from the trigger event to ensure every response is relevant.

⚙️ Customize It: Select your preferred notification type from the Notification Type dropdown. Options include:

  • Email – Delphi will send you a context-aware notification via email.

  • Text Message – Delphi will send you a personalized notification via SMS.

In the box labeled “Describe what should be sent, using the data selected above,” enter a general instruction rather than a specific scripted message. Delphi will generate the right response dynamically, using real-time context from the trigger event. Example:

  • If your trigger is set for new membership purchases and you want Delphi to send you an email reminder to welcome them, you might enter: “Remind me to greet new members and acknowledge their subscription.”

  • We will then generate a situationally appropriate message, such as: “You have a new member, [Name]. They signed up for [Membership Tier] on [Date]. You might want to send them a welcome message and share next steps!”

💡 Example:

  • If you set the Send Message: Contact Owner action to trigger when a new user subscribes to a membership, you might enter: “Remind me to greet new members and acknowledge their subscription.”

  • Delphi will then generate a context-aware notification, such as: “You have a new member, [Name]. They signed up for [Membership Tier] on [Date]. You might want to send them a welcome message and share next steps!”

  • This ensures you stay updated on important interactions and can respond promptly.

🎯 Use It: Stay informed about important user interactions while ensuring that every notification is highly relevant and tailored to the situation. Get alerts for quota limits, payments, or membership sign-ups, and ensure your responses are timely, thoughtful, and specific.

Send Message: Contact User

Understand It: This action allows your Delphi to contact a user with a response that is personalized in real-time based on the instructions you provide. Instead of a fixed, scripted message, Delphi dynamically generates a reply using the provided guidance and context from the conversation.

⚙️ Customize It:

  1. Select your preferred notification type in the Notification Type dropdown. The available options depend on:

    1. The type of trigger you selected

    2. When the action is scheduled relative to the trigger event (For a deeper explanation of the three timing options, see point 9 below).

  2. Choose the preferred response method:

    • Reply in Conversation – Your Delphi will immediately respond in any active medium (chat, voice call, video call, SMS conversation, phone call) with a reply that follows your specified guidance. This response will replace whatever Delphi would have otherwise generated while still maintaining contextual relevance. If you pick a medium from one of the options below, it will send a separate message via that medium.

    • Email – Your Delphi will send the user a personalized email crafted using your instructions. A “Click Here to Respond” button at the bottom will direct them to your Delphi web interface, allowing them to continue the conversation seamlessly.

    • Text Message – Your Delphi will send a personalized response via SMS. The user can then continue chatting with Delphi over text, ensuring a fluid and ongoing interaction.

    • Phone Call – Your Delphi will call the user and read aloud a tailored response based on your instructions. The user can then continue speaking with Delphi on the phone, making the conversation feel more natural and interactive.

  3. In the “Describe what should be sent, using the data selected above” box, provide general instructions rather than a specific message. This ensures Delphi adapts the response based on the user’s situation.

💡 Example:

  • If you set the Send Message: Contact User action to trigger when a user reaches their message quota, you might enter: “Let them know they’ve hit their limit and offer an upgrade option.”

  • Delphi will then generate a response such as: “Hey [Name], you’ve reached your message limit for this plan. If you’d like to continue the conversation, you can upgrade your access [here]. Let me know if you have any questions!”

  • This ensures the user receives a timely and relevant notification, encouraging them to take the next step.

🎯 Use It: Ensure users receive prompt, personalized, and relevant responses that keep conversations flowing naturally and intelligently. Delphi doesn’t just reply—it continues the interaction, maintaining context and engagement.

Update Tag

Understand It: This action allows you to either add or remove a tag from a user based on their interaction. Tags help you segment users, personalize engagement, and track behavior effectively.

⚙️ Customize It:

  1. Toggle between “Add Tag” or “Remove Tag” to specify whether you want to apply or remove a tag.

  2. Select the applicable tag from the “Properties” dropdown.

💡 Example 1: If a user expresses interest in a premium feature, you can select “Add Tag” and apply a “Potential Upsell” tag. This allows you to later target these users with special offers or tailored messages.

💡 Example 2: If a user upgrades from a trial to a paid membership, you can select “Remove Tag” to remove the “Trial User” tag. This ensures they no longer receive trial-specific content and helps maintain accurate user segmentation.

🎯 Use It: Segment users dynamically, trigger personalized follow-ups, and refine user categorization based on their latest interactions.

Update Property

Understand It: This action allows you to either set or remove a property from a user based on their interaction. Properties store key details about users, such as preferences, activity levels, or status, enabling more personalized experiences and targeted engagement.

⚙️ Customize It:

  1. Toggle between “Set Property” or “Remove Property” to specify whether you want to assign or delete a property.

  2. Select the applicable property from the “Properties: Property to set” dropdown.

💡 Example 1: If a user completes an onboarding tutorial, you can select “Set Property” and assign “Onboarding Completed = Yes.” This allows you to track which users have finished onboarding and tailor future interactions accordingly.

💡 Example 2: If a user cancels their subscription, you can select “Remove Property” and delete “Active Subscriber.” This ensures they no longer receive member-specific content or perks.

🎯 Use It: Store valuable user attributes, track key milestones, and refine audience segmentation to create more relevant and meaningful interactions.

Custom API

Understand It: This action sends a POST request to a specified API with user details, including name, email, phone number, timestamp, and the triggered event.

⚙️ Customize It: 1) Specify the endpoint URL in the “Endpoint URL” box. 2) Configure headers under “Headers.” We automatically create the Content-Type header with the value application/json. You can add one additional header, such as an API token for authorization. Any API token you enter will be encrypted for security and automatically decrypted when sent with the request, ensuring the receiving system can validate that the data is coming from Delphi.

💡 Example: If a user completes a purchase, Delphi can send their name, email, and purchase details to your CRM or analytics tool, ensuring seamless data tracking across platforms.

🎯 Use It: Sync user attributes with external systems, update CRMs, or integrate with analytics tools.

Complete your action setup by selecting when to execute the action after the trigger:

Immediate

Initiates the action as soon as the trigger occurs.

💡 Example: If a user completes a product recommendation flow with a send message: contact user action, and the delay is set to instant, your Delphi could instantly message them: “I think you’d love [Product Name]! Here’s a link to check it out: [Link]. Let me know if you have any questions!”

Fixed Delay

Delays the Action for a set time relative to when the trigger occurs. For example, if a user purchases a membership at 8 AM and you set a 2-hour delay before contact, they will receive the notification at 10 AM. Enter a numerical value and select minutes, hours, or days from the dropdown.

💡 Example: If you set a Fixed Delay of 2 hours for a Follow-Up Message after a user abandons their checkout, Delphi will wait exactly 2 hours before sending the message. So, if a user adds an item to their cart at 10 AM but doesn’t complete the purchase, they’ll receive a message at 12 PM, such as: “Still thinking about [Product Name]? Your cart is waiting! Let me know if you need any help.”

Custom Delay

Lets your Delphi intelligently determine the best time to execute the action based on conversation history or the instructions you provide in the “Custom Delay: Describe what the delay should be” box. For example, “Message the user an hour after their date” or “Send a birthday message on their birthdate.” Keep the description short—the more concise it is, the easier it will be for your Delphi to understand.

💡 Example: If you set a Custom Delay for a Birthday Message, you might enter: “Send the user a message on their birthday.” Delphi will check their stored birthdate and send a message at the appropriate time, such as: “Happy Birthday, [Name]! 🎉 Wishing you an amazing day. Let me know if I can help with anything special today!”

Further Reading

Best Practices

Respect the User Experience: Delphis are designed to enhance interactions, not overwhelm users. Avoid creating messaging flows or schedules that spam or excessively engage your audience. Misuse of this feature can result in restricted access.

  • Do: Set up thoughtful, well-paced interactions.

  • 🚫 Do Not: Overload users with excessive messages or redundant follow-ups.

Messaging Actions Need Instructions, Not Scripts: Your Delphi is not a chatbot that follows a rigid script—it’s an adaptive digital mind. Instead of scripting full conversations, focus on guiding Delphi’s intent and tone.

To use messaging actions effectively...

  • Do: Be specific and include details, being as specific and clear as possible in your instructions. Your Delphi can only use the context you provide.

  • Do: Keep instructions focused, avoiding the urget to pack multiple actions into one instruction since this often generates long, unhelpful messages. A single, well-defined request with clear parameters will lead to better responses.

  • 🚫 Do Not: Write scripts, since it will not follow the script. Instead, your Delphi will be confused as it is looking for a clear instruction and not a predefined message.

  • 💡 Example:

    • Good: “Send a follow-up message three days after purchase asking if they have any questions about getting started.”

    • 🚫 Bad: “Hey [First Name], I wanted to check in! How’s it going? Let me know if you have questions.” or * “Send a message saying, ‘Hey [First Name], I wanted to check in! How’s it going? Let me know if you have questions.’ Then, if they don’t respond, send another message that says, ‘Just following up on my last message…’”

Custom Delays Need Clear Instructions: Custom delays help you fine-tune when and how your Delphi engages with users.

To use custom delays effectively...

  • Do: Be specific and include details, being as specific and clear as possible in your instructions. Your Delphi can only use the context you provide.

  • 💡 Example:

    • Good: “Send the message 2 hours after the end of the user’s event if they mention it, otherwise send it the day after their event at 8AM in the morning.”

    • 🚫 Bad: *“Send the message when it makes sense for the user based on the stuff they said.”

Test Your Flows Before Deployment: Ensure your Delphi’s triggers and actions work as intended to prevent errors and improve user experience.

To test effectively...

Test your action by using the “Trigger Occurences” and “Action Occurences” log at the bottom of the sidebar when you click on a trigger or action.

  1. Set up your flow: Configure your Delphi flow, including the necessary triggers and actions.

  2. Trigger Activation: Interact with your Delphi in a way that activates the trigger, or have someone else do so.

  3. Verify Trigger Execution

    1. Reload the flow.

    2. Check the “Trigger Occurrences” log in the sidebar.

    3. If the trigger appears, it’s correctly set up and will execute immediately or after whatever delay you have set.

  4. Confirm Action Execution

    • If the action involves user contact, wait for the expected message or interaction to occur.

    • If it’s a non-contact action, check the “Action Occurrences” log to confirm execution.

    • If the action is on a delay, allow time for execution. Otherwise, it should happen immediately.

  5. If needed, edit your action using the sidebar or the composer, as described in Step 2.

For Send Message actions, responses will vary slightly each time—just as your Delphi’s responses naturally do in regular conversations, even when the same question is asked. Try triggering it multiple times to see the differences.

Be aware of our feature limitations...

  • Templates Do Not Auto-Save: You must click “Save” to ensure your changes aren’t lost.

  • Flow Limits by Tier:

    • Starter: no flows

    • Advanced: up to 2 flows

    • Prodigy and up: up to 5 flows

  • No Instance Support Yet: Flows are attached to the main Delphi instance and cannot be created for separate instances.

  • Mobile Communications Require Opt-In: Users will only receive SMS texts or phone calls if they have opted into mobile communications from your Delphi.

    • To opt in: Users must enter their phone number on your Delphi’s profile page and receive a text message.

    • To opt out: Users can text “STOP” at any time.

Troubleshooting

What is the difference between tags and properties?

Both tags and properties help you organize users, but they serve different purposes in how they categorize and store information.

🔹 Tags: Predefined, Broad Categories Tags are fixed categories that you create to organize users based on a shared characteristic. Every user either belongs to the group (has the tag) or doesn’t. Think of tags like giant folders where you decide in advance what groups exist, and users are added or removed from them.

  • Example: You might create a tag for “Ice Cream Lovers.” If a user mentions ice cream, they get tagged.

  • How it works: Tags are predefined—you decide what groups exist and manually or automatically apply them to users.

  • Use case: Great for broad, easy-to-manage categories like “Beta Tester,” “VIP Customer,” or “Attended Webinar.”

🔹 Properties: Dynamic Labels Properties are custom values assigned to each user individually. Instead of sorting users into predefined groups like tags, properties store specific details that can vary from person to person. Think of properties like fields in a database—they hold different values for different users.

  • Example: Instead of a general “Ice Cream Lover” tag, you could create a property called “Favorite Ice Cream Flavor” and let each user have a different value, like “Pecan”, “Vanilla”, or “Chocolate Chip.”

  • How it works: Properties are flexible—you don’t need to define every possible value ahead of time. Instead, they store unique details per user.

  • Use case: Best for tracking dynamic, personalized details like “Age,” “Last Purchase Date,” or “Location.”

🛠️ When to Use Each?

  • Use tags when you want to define broad user groups and manually or automatically place users in them.

  • Use properties when you need to store unique details for each user without knowing all the possible values ahead of time.

In summary, think of tags as quick labels and properties as customizable user data. Hope that helps! 😊


Video Tutorial Series

Intro

Using Templates

Building From Scratch

Writing with the Composer

Best Practices

Wrap-Up

Did this answer your question?