Connecting Actions Tutorial

We just published a walkthrough video about how to connect Actions to your Pickaxe.

I wanted to quickly go over the main points and encourage you all to connect some Actions to your Pickaxes.

WHAT IS AN ACTION?
An Action is a button that your Pickaxe can press to access other pieces of software on the internet. It can either send data out (a report to be emailed) or pull data in (get stock market information). Because the AI is actually pressing the button, you can use prompting to explain when and how to use the Action.

WHERE DO YOU FIND ACTIONS?
Actions are under the “Act” tab in both the form builder and the chatbot builder.

HOW DO I CONNECT AN ACTION?
To connect to an existing action, simply scroll through our menu of community actions. This area is growing all the time. Find the one you want, and then click “Connect”. You’ll then be asked to ‘set up’ the action. Each action is a little different. Some require entering an API key or a webhook url. Others don’t. All of them will require you to write a Trigger Prompt. This is a brief prompt that explains when your Pickaxe should use this action and how.

HOW DO I CONTROL WHEN THE ACTION IS USED?
You can control the Action both in the normal prompt and in the Action’s “trigger prompt”. For example, you may want the chatbot to send an email whenever the user says “contact the admins for me”. You can explain this in the trigger prompt and the Pickaxe will know to only use this action under those circumstances.

HOW DO I EDIT ACTIONS?
All your currently connected Actions appear in the Connected Actions section. You can turn these actions off, turn them on, and edit the trigger prompt at any time within the builder.

HOW DO I CREATE MY OWN NEW ACTION?
You can create your own custom action by scrolling all the way to the bottom of the Act tab to where it says Your Actions Library. Then click on “Build new action”. This is a little more complicated and may even require a little coding based on what you’re trying to build. We will be simplifying this process in the coming weeks.

If you want to give it a try, Chatbot Insider did a tutorial video on building new Pickaxe Actions. You can check it out!

WHAT’S NEXT?
We have a lot planned for Actions. We think it will be a powerful new feature. Some plans include:

  • We’ll be creating a lot more educational content around Actions.
  • We’ll be simplifying the process for building new custom Actions.
  • We’ll be adding a lot of new pre-made Actions with easy connection processes.
7 Likes

Hi, can you add

Please load a bunch of useful actions for us no-coders to modify or make use of. eg pass the pickax result to a heygen action that opens my heygen account with the default avatar and settings. Also more example for triggering a make.com or stack-ai automation, would negate the need for you guys to dev a whole automation environment. You have the storefront (studio) which no-one else has, you just need to enable the no-code stuff they have, without having to dev it all yourself.

Is there a way to send the final chat output to a Google document?

Hi @chrisbarker,

There is a Make action available.

You can also check this post: Action Call - Full integration with Make (Request + Response)

Once you have the webhook working you can create any scenario in Make and get any response you need back into Pickaxe

1 Like

@cattopp I would recommend sending it to Make and then Google Doc.

If you have a dynamic field in Google Doc template that you want to fill with the final chat output you can map it as follows:

1 Like

Hi @gal,

We’ve added basic webhook action for n8n and ZeroWork!

1 Like

Hey Chris, that’s exactly the plan! The ‘community actions’ will be simple no-code actions that require a prompt and sometimes an API key or webhook url to implement. We’ll trickle in more and more actions into this space.

We’ve add the “create your own actions” space for the small percentage of technical users so that they can build their own actions, and even contribute actions to the community pool as well.

1 Like

Thanks! I’ll have a play around and see if I can work this out :slight_smile:

1 Like

Would it be possible to add Relevance AI to the mix of Actions please?

I don’t know much about Relevance AI. If you write a detailed request, we will definitely consider it!

1 Like

Will do Mike - many thanks

I tried to set up something like this, but the webhook didn’t fire…so nothing happened. I’m sure I missed something vital :slight_smile:

Hi Mike

I emailed you.

Hello. Is there a possibility to integrate a live-chat action into my pickaxe? The idea is that users could call up a real human-being if they are not satisfied with the answer.

Not currently, it is something we have thought about. Though it would be very possible for you to:

  • Refer the user to a live chat somewhere else with a link included in your prompt
  • Build an action that collects their contact information and sends it to a support rep, including a summary of the conversation so far

Either of those options would be our current recommendation.

Is it possible to create a Make action for the chat bot to retrieve order data from a Google Sheet when a clients asks about their order status for example?

Thx
Ned

Hi @ned_rvth …here we go

import os
import requests

def p_make_response_order_status(name: str, orderreference: str):
    """
    Ask client name and order reference. Then it returns the status of the order

    Args:
        name (string): client's name
        orderreference (string): client's order reference
    Envs:
        MAKE_WEBHOOK (string): Make webook
    """

    # Insert your code below. You can access environment variables using os.environ[].
    # Currently, only the requests library is supported, but more libraries will be available soon.
    # Use print statements or return values to display results to the user.
    # If you save a PNG image in the root directory, it will be automatically displayed to the user.
    # You do not have to call this function as the bot will automatically call and fill in the parameters.

    # Your Make.com webhook URL
    url = os.environ["MAKE_WEBHOOK"]

    
    # Payload to send with the request --> Adjust based on the function inputs you have set up under action details
    payload = {
        "name": name, #ask for the name before sending the request to the webhook
        "orderreference":orderreference #ask for the order reeference before sending the request to the webhook
    }

    # Log payload to verify it
    print("Payload being sent:", payload)

    # Sending the POST request to the webhook URL
    try:
        response = requests.post(url, json=payload, timeout=10)
        
        # Log status code and response content
        print(f"Status code: {response.status_code}")
        print(f"Response content: {response.text}")

        # Check if the request was successful
        if response.status_code == 200:
            # Capture response data
            response_data = response.json()
            print("Webhook sent successfully!")
            print("Response from webhook:", response_data)
            
            # Example: Extracting specific information from the response
            message = response_data.get("message", "No message received")
            additional_info = response_data.get("additional_info", {})
            
            # This is the structure of the data you want Make to return. Add the variables in the body of the webhook response in Make
            ai_response = {
                "order content": OrderContent,
                "status": Status
            }
            print("AI can now process the following data:", ai_response)
        
        else:
            print(f"Failed to send webhook. Status code: {response.status_code}, Response: {response.text}")
    
    except requests.exceptions.Timeout:
        print("The request timed out")
    except requests.exceptions.RequestException as e:
        # Handle any request exceptions
        print(f"An error occurred: {e}")
2 Likes

I put it together, but the agent is not retrieving accurate order status as listed in the google sheet. Instead its reading the prompt example output. In this case any request for order status comes back as “In Progress”.

Do I have to make a standalone bot for this action to work, or can I add-on everything you mentioned in the video (customized to my use case)?

Thx,
Ned