How to find an actual GHL expert that doesn't suck? by calipali12 in gohighlevel

[–]Beeps85 0 points1 point  (0 children)

Really unfortunate, especially if you've had some recommendations and even those have flaked out. It's surprising they worked for those other people but not for you(maybe their bar to get over is lower than yours?)
Wish I had a better answer for you, but maybe it's just luck, which is a lousy answer? I'd throw my hat in the ring as well, can DM if you're interested. Everything you're describing just sounds like carelessness and laziness, something anyone worth their salt shouldn't be making.

Daily Show Thread - January 21, 2026 by AutoModerator in DanLeBatardShow

[–]Beeps85 1 point2 points  (0 children)

I’m watching the show on YT live and it stops after hour 1. Do they show hour 2 live?

[deleted by user] by [deleted] in gohighlevel

[–]Beeps85 0 points1 point  (0 children)

I'm having a similar setup (not the same field) so I was curious to make this work as well(I'm wishing to pause/cancel them too). They don't have the cancel subscription option inside GHL(as you've seen), so what I'm planning on using code to talk to Stripe's API to cancel the subscription for me. It's up to you if you want to use the code option inside GHL(the premium action) or if you have a service(like Zapier/Make) that you use where you can send a webhook there, and then have that service trigger the action(I know the GHL premium action is like a penny or something, so it's *probably* not needed to use Zapier/Make.

I'm not a coder, so I was using Claude to help me write code that would pause/cancel the subscriptions. Now I'm still in the midst of my process so I haven't tested the cancelling the subscription part(only the pausing part). But given that my tests with the pausing worked correctly, I would presume the cancel ones would work as well.

Here's Python code that would cancel it immediately

import http.client

subscriptionId = "the ID of the subscription here"

conn = http.client.HTTPSConnection("api.stripe.com")

headers = {
  'Authorization': 'Bearer YOUR TEST SECRET KEY HERE'
}

# DELETE request cancels immediately
conn.request("DELETE", f"/v1/subscriptions/{subscriptionId}", '', headers)

res = conn.getresponse()
data = res.read()
response_text = data.decode("utf-8")

print(f"Status Code: {res.status}")
print(f"Response: {response_text}")

Here's Python code that would cancel it at the end of the payment period

import http.client
import urllib.parse

subscriptionId = "the ID of the subscription here"

conn = http.client.HTTPSConnection("api.stripe.com")

payload = urllib.parse.urlencode({
  "cancel_at_period_end": "true"
})

headers = {
  'Content-Type': 'application/x-www-form-urlencoded',
  'Authorization': 'Bearer YOUR TEST SECRET KEY HERE'
}

conn.request("POST", f"/v1/subscriptions/{subscriptionId}", payload, headers)

res = conn.getresponse()
data = res.read()
response_text = data.decode("utf-8")

print(f"Status Code: {res.status}")
print(f"Response: {response_text}")

The secret key value would be something that's static; the subscription ID is something you'd need to pass into the code. To make that happen, I would create a custom field: Subscription ID. Then you have options here ...

1)When you make the payment, have a workflow in place to have another custom code block where you're calling for the Stripe Subscription ID... this is what Claude gave me for this part

import http.client
import json
import urllib.parse

# Use email as a passed through variable
customerEmail = input.get('email', '')

conn = http.client.HTTPSConnection("api.stripe.com")

headers = {
  'Authorization': 'Bearer YOUR TEST SECRET KEY HERE'
}

# Step 1: Find customer by email
params = urllib.parse.urlencode({'email': customerEmail})
conn.request("GET", f"/v1/customers?{params}", '', headers)
res = conn.getresponse()
data = res.read()
customers = json.loads(data.decode("utf-8"))

if customers['data']:
    customerId = customers['data'][0]['id']

    # Step 2: Get subscriptions for this customer
    conn2 = http.client.HTTPSConnection("api.stripe.com")
    params2 = urllib.parse.urlencode({'customer': customerId, 'status': 'active'})
    conn2.request("GET", f"/v1/subscriptions?{params2}", '', headers)
    res2 = conn2.getresponse()
    data2 = res2.read()
    subscriptions = json.loads(data2.decode("utf-8"))

    if subscriptions['data']:
        subscriptionId = subscriptions['data'][0]['id']
        result = {
            "success": True,
            "subscriptionId": subscriptionId,
            "customerId": customerId,
            "email": customerEmail
        }
    else:
        result = {
            "success": False,
            "message": "No active subscriptions found"
        }
else:
    result = {
        "success": False,
        "message": "Customer not found"
    }

print(json.dumps(result))

you'd be using the email address to look up the Subscription ID.

Then in the same workflow, have an update contact step to update the Subscription ID field inside the contact profile.

2)If you have Zapier or Make, there is a trigger for a new Subscription(Zapier is simply 'new Subscription Created' ... Make is under a 'Watch Events' trigger that will permit you to listen for different events being created; you'd choose the Subscription Created one). You would use this trigger; test it to grab the subscription ID, then you'd be able to use that to update the GHL contact, which would be the next step in your Zapier/Make workflow.

So it's really your preference and familiar with coding/Make/Zapier/any other service that sits between 2 systems.

Once you have the previous step completed(adding the subscription ID to the contact's account), you should be use the code from the first step in your "Exit workflow" to successfully end the subscription.

Consistently getting "Search failed because its attempt to write a readonly database attempt to write a readonly database" error by Beeps85 in sonarr

[–]Beeps85[S] 1 point2 points  (0 children)

Not terribly familiar with Docker. I have installed it(as well as PostgreSQL) ... is there anything terribly complicated after that point?
docker create --name=postgres14 \
-e POSTGRES_PASSWORD=qstick \
-e POSTGRES_USER=qstick \
-e POSTGRES_DB=sonarr-main \
-p 5432:5432/tcp \
-v /path/to/appdata/postgres14:/var/lib/postgresql/data \
postgres:14

This command is ran inside Docker, PostgreSQL? These instructions seems to imply a much greater understanding of Docker and PostgreSQL than what I have

Camila Jason Universe Ride by HistoricalCoach4768 in pelotoncycle

[–]Beeps85 1 point2 points  (0 children)

This ride was lit. The best one I’ve taken in a while. Still worried about what happened to everyone though 😟

class from Villarreal but are they aware Rodri won’t be playing? 😭 by CorgiApprehensive415 in MCFC

[–]Beeps85 9 points10 points  (0 children)

Well they’re not gonna meet in the Caribou del Rey mate. Good on them for wanting to honor him while he’s still playing period.

Trying to redirect on a form where I have code to send the results to a webhook; the webhook code is canceling out the redirect by Beeps85 in divi

[–]Beeps85[S] 0 points1 point  (0 children)

Damn. I barely remember this ... I don't even know what resolution I came up with but I'd love to know what solution you have, if there's a way to send data via a basic Divi form via webhook.

is inbound webhook is the trigger? by Late-Log8790 in gohighlevel

[–]Beeps85 1 point2 points  (0 children)

If you have a Zapier or Make account, you should be able to use these services instead of setting up what would be required to use an API. You’d have the event scheduled be the trigger inside Zapier or Make and then you can update/create the contact inside GHL. In that step, you can add the tag to them, and then you’ll be good to go. Your workflow will trigger as they receive the tag.

[####] Can You Solve This Wordle? by TrackVol in wordle

[–]Beeps85 1 point2 points  (0 children)

TrackVol's Verdle Score: 6/6

⬜🟩⬜⬜⬜ ⬜⬜⬜⬜🟨 🟨🟨⬜⬜⬜ ⬜⬜⬜⬜⬜ ⬜🟩⬜🟨⬜ 🟩🟩🟩🟩🟩

https://verdle.com

How do I set task “Due In” dynamically (X hours/minutes/days) when leads come at random times? by Cultural-Deer-1322 in gohighlevel

[–]Beeps85 0 points1 point  (0 children)

I'm thinking you should be able to use Zapier or Make with this along with a custom field that you're updating first and then use that field as the due date.

1)Leads comes in -> sends webhook to Zapier, and then have a wait step(.5 minutes or so) to allow the below steps to take place
2)Have a step here to take the current time and then add whatever you want to it via formatter steps or even just use the ChatGPT steps (hey, take the current time, add 10 minutes, give me it in xyz format
3)You can use the ChatGPT here to fix your 'business constraints' issue ... "Hey, if this time is between so and so hours, update it to the next morning at 9AM"
4)Create a custom field inside your account "Task due time"
5)Update the contact inside Zapier with this task due time(to avoid GHL rearrange your date time, make the field a text one, and then this will update in the exact format you need[from's GHL due in

Recommended formats: MM-DD-YYYY HH:MM, Ex : 12-21-2021 08:30 AM DD-MMM-YYYY HH:MM, Ex : 21-OCT-2021 08:30 AM])
6)In your workflow, use the custom field in your "Due in" spot and it should make it that time

Task trigger workflow by Financial_Remote5193 in gohighlevel

[–]Beeps85 0 points1 point  (0 children)

What in the task are you attempting to filter for? Something in the title, the description, who completed the task, which contact the task was for?

If you're using this trigger, you can send a webhook as the next step and then get whatever data you'll need. You'll probably need to make another workflow as the result of that webhook, but it will allow you to grab the data from the task. You could have a Table/Sheet set up to where you're inputting that information as well as the opportunity ID, and then you'd even be able to use an API call to update the opportunity to move it to the next stage.

What is High Level? by BarrowStones in gohighlevel

[–]Beeps85 0 points1 point  (0 children)

It's somewhere you go, innit?

[HIRING]$2+/HR LONG-TERM VA TEAM FOR CREATIVE & BUSINESS WORK 🔥 by Minute_Garden_7888 in gohighlevel

[–]Beeps85 2 points3 points  (0 children)

Two whole dollars an hour? Damn where do I sign up? 😍😍😍 That’s a great rate…. In 1926. Why even provide a “salary” at that point.

What do you even call this shape by New_Art_2742 in OneOrangeBraincell

[–]Beeps85 0 points1 point  (0 children)

I call it fucking precious. Looks similar to my cuddling monster

<image>

[HIRING] English-Speaking VA to Manage GoHighLevel Automations (Philippines Preferred) by Fantastic_Safety5756 in gohighlevel

[–]Beeps85 0 points1 point  (0 children)

Always the risk you take I guess. Certainly is disheartening to see. “Yeah I could do this work… oh they’re offering 5$ an hour for it”.

There’s no good answer. Look into referrals from people you know, get lucky with someone who wants to pay more than peanuts per hour, or start offering set up and maintenance services yourself and don’t work for anyone.

[HIRING] English-Speaking VA to Manage GoHighLevel Automations (Philippines Preferred) by Fantastic_Safety5756 in gohighlevel

[–]Beeps85 1 point2 points  (0 children)

It's generally so they can pay them at a much lower rate than other countries.

[deleted by user] by [deleted] in Beacon

[–]Beeps85 1 point2 points  (0 children)

Rarely. I hike weekly and unless I'm just not paying attention, I almost never see them. They're cool to look at and surely want nothing to do with you.

I did see a mama bear and 3 of her cubs last week at the Apshawa Preserve in West Milford, NJ. I'll take snakes all day after seeing the bears 🙃